mysql基础教程

来源:互联网 发布:转换视频格式的软件 编辑:程序博客网 时间:2024/05/16 07:34

mysql基础教程

@(MYSQL)[mysql]

  • mysql基础教程
  • 一操作
    • 一基本操作
      • 1创建数据库
      • 2创建用户
      • 3允许远程连接
      • 4远程连接
      • 5创建表
      • 6向表中插入数据
      • 7使用配置文件连接mysql
      • 8解释sql
    • 二 mysql的导出导入
      • 1导出整个数据库包括数据库中的数据
      • 2导出数据库结构不含数据
      • 3导出数据库中的某张数据表包含数据
      • 4导出数据库中的某张数据表的表结构不含数据
      • 5导入数据
    • 三开启远程连接
  • 二体系结构
    • 一重要文件
      • 1配置文件
        • 1myconf
      • 2数据文件

一、操作

(一)基本操作

1、创建数据库

mysql -u root -p#然后输入密码mysql> create database filter_conf;Query OK, 1 row affected (0.08 sec)mysql> show databases;+--------------------+| Database |+--------------------+| information_schema || datang2 || dt2designer || dt2log || filter_conf || mysql || performance_schema || test |+--------------------+8 rows in set (0.04 sec)

2、创建用户

create user lujinhong identified by 'lujinhong';grant select,insert,update,delete on *.* to lujinhong@"%" Identified by "lujinhong";#将所有数据库所有表(*.* )的上述4个权限赋予任何机器上的lujinhong用户(lujinhong@"%")flush privileges;

3、允许远程连接

Grant all privileges on *.* to 'lujinhong'@'%' identified by 'lujinhong' with grant option;#其实和上面重复了,给了更多权限flush privileges;

修改/etc/mysql/my.cnf

bind-address        = 127.0.0.1

改为 0.0.0.0

4、远程连接

/usr/local/mysql/bin/mysql -h 192.168.172.98 -u lujinhong -puse filter_conf

5、创建表

create table if not exists ma30_conf(property_key varchar(256) primary key, property_value varchar(256) not null, description varchar(1024));

6、向表中插入数据

insert into ma30_conf(property_key,property_value) values("project","ma30");select * from ma30_conf;

7、使用配置文件连接mysql

mysql --defaults-file=/etc/mysql/debian.cnf

其中配置文件内容为:

[client]host     = localhostuser     = debian-sys-maintpassword = kakjlakjlakjdfiesocket   = /var/run/mysqld/mysqld.sock[mysql_upgrade]host     = localhostuser     = debian-sys-maintpassword = kakjlakjlakjdfiesocket   = /var/run/mysqld/mysqld.sockbasedir  = /usr'=

8、解释sql

常用于确定是否使用了正确的索引等。

mysql> explain select * from ma32_conf;+----+-------------+-----------+------+---------------+------+---------+------+------+-------+| id | select_type | table     | type | possible_keys | key  | key_len | ref  | rows | Extra |+----+-------------+-----------+------+---------------+------+---------+------+------+-------+|  1 | SIMPLE      | ma32_conf | ALL  | NULL          | NULL | NULL    | NULL |   20 |       |+----+-------------+-----------+------+---------------+------+---------+------+------+-------+1 row in set (0.01 sec)

(二) mysql的导出导入

可参考:http://jingyan.baidu.com/article/948f5924259516d80ef5f95e.html

1、导出整个数据库(包括数据库中的数据)

mysqldump -u username -p dbname > dbname.sql    

2、导出数据库结构(不含数据)

mysqldump -u username -p -d dbname > dbname.sql    

3、导出数据库中的某张数据表(包含数据)

mysqldump -u username -p dbname tablename > tablename.sql    

4、导出数据库中的某张数据表的表结构(不含数据)

mysqldump -u username -p -d dbname tablename > tablename.sql 

5、导入数据

先使用需要导入数据的用户连接服务器,并use database,然后执行

source ***.sql  

(三)开启远程连接

若在服务器本地可以连接mysql,但远程连接不行,请参考以下内容

1、首先在服务器上开启mysql服务

2、其次确保网络正常,分别

ping ip 以及

telnet ip port(默认是3306)

3、连接数据库

mysql -h ip -u mysql -p

事实上,mysql默认是不允许远程连接的,因此可以通过以下方式开启:

1、在服务器上登陆mysql

mysql -h localhost-u mysql -p
Enter password: **

连接数据库。

mysql> use mysql; (此DB存放MySQL的各种配置信息)
Database changed

2、查看当前的连接权限
mysql> select host,user from user; (查看用户的权限情况)
+————-+——-+
| host | user |
+————-+——-+
| localhost | |
| localhost | root |
| localhost | |
| localhost | mysql |
+————-+——-+
6 rows in set (0.02 sec)

由此可以看出,只能以localhost的主机方式访问。

3、新增权限

mysql> Grant all privileges on . to ‘root’@’%’ identified by ‘password’with grant option;
(%表示是所有的外部机器,如果指定某一台机,就将%改为相应的机器名;‘root’则是指要使用的用户名,里面的password需要自己修改成root的密码)

mysql> flush privileges; (运行为句才生效,或者重启MySQL)
Query OK, 0 rows affected (0.03 sec)

4、再次查看用户的权限情况

mysql> select host,user from user; ()
+————-+——-+
| host | user |
+————-+——-+

| % | mysql |

| % | root |
| localhost | |
| localhost | root |
| localhost | |
| localhost | mysql |
+————-+——-+

mysql>exit

5、可以在远程机器上连接了。

二、体系结构

(一)重要文件

1、配置文件

(1)my.conf

对于dibian系统,放在/etc/mysql目录下,是mysql的基本配置文件

2、数据文件

数据文件所在的位置由my.conf中的参数

datadir     = /home/mysql

指定。在这个目录下,先为每个数据库生成一个目录,然后在数据库目录内为每个表生成2个文件,分别为记录数据的.idb文件,以及记录表结构的.frm文件。

此外,还有opt文件等。如:

filter_conf/|-- db.opt|-- default_conf.frm|-- default_conf.ibd|-- devmyx_conf.frm|-- devmyx_conf.ibd
原创粉丝点击