mysql基础教程

mysql基础教程

@(MYSQL)[mysql]

一、操作

(一)基本操作

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 -p
use 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     = localhost
user     = debian-sys-maint
password = kakjlakjlakjdfie
socket   = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
host     = localhost
user     = debian-sys-maint
password = kakjlakjlakjdfie
socket   = /var/run/mysqld/mysqld.sock
basedir  = /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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值