您的位置:首页 > 数据库 > MySQL

MySQL常用操作(2) 之 用户管理、常用语句、数据库备份恢复

2018-04-01 00:00 1301 查看

1. mysql用户管理

因为日常使用中,需要给人员的权限进行限制,所以需要对用户进行管理。

1.1 创建用户并授权

指定登录IP

[root@host ~]# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor.
mysql> grant all on *.* to 'user1'@'127.0.0.1' identified by '123456';
#创建user1用户并授予其所有权限“*.*”(通配符)
#第一个*表示db_name;第二个*表示tb_name
#同时指定其来源IP127.0.0.1(即,只可通过此IP登录)
#此处可以使用通配符%,代表所有IP(一般不使用)
#设定密码:identified by
mysql> quit
Bye


指定登录socket

[root@host ~]# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor.
mysql> grant all on *.* to 'user2'@'localhost' identified by '123456';
Query OK, 0 rows affected (0.01 sec)
mysql> quit
Bye

1.2 用户登录

指定的IP用户登录

[root@host ~]# mysql -uuser1 -p123456 -h127.0.0.1
Welcome to the MySQL monitor.
mysql> quit
Bye


指定的socket登录

[root@host ~]# mysql -uuser2 -p'123456'
Welcome to the MySQL monitor.
mysql> exit
Bye

因为指定登录主机为localhost,所以该用户默认使用(监听)本地mysql.socket文件,不需要指定IP即可登录。

1.3 针对具体的权限进行授权

[root@host ~]# mysql -uroot -p'123456'
Welcome to the MySQL monitor.
mysql> create database db1;
Query OK, 1 row affected (0.04 sec)
mysql> grant SELECT,UPDATE,INSERT on db1.* to 'user2'@'113.83.64.114' identified by '123456';
#创建user2用户,并授予其针对db1库SELECT,UPDATE,INSERT权限

mysql> grant all on db1.* to 'user'@'%' identified by '123456';
#创建user3,并针对所有IP授予其db1库所有权限

1.4 查看授权

[root@host ~]# mysql -uroot -p'123456'
Welcome to the MySQL monitor.
mysql> show grants;
#查看当前用户的权限

mysql> show grants for user2@113.83.64.114;
#查看指定用户的权限

1.5 更改权限

[root@host ~]# mysql -uroot -p'123456'
Welcome to the MySQL monitor.
mysql> GRANT USAGE ON *.* TO 'user2'@'127.0.0.1' IDENTIFIED BY PASSWORD '*6BB4837EB743291105EE4568DDA7DC67ED2CA2AD9';
Query OK, 0 rows affected (0.03 sec)

mysql> GRANT SELECT, INSERT, UPDATE ON `db1`.* TO 'user2'@'127.0.0.1';
Query OK, 0 rows affected (0.00 sec)
mysql> show grants for user2@127.0.0.1;
+--------------------------------------------------------------------------------------------------------------+
| Grants for user2@127.0.0.1                                                                                  |
+--------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'user2'@'127.0.0.1' IDENTIFIED BY PASSWORD '*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9' |
| GRANT SELECT, INSERT, UPDATE ON `db1`.* TO 'user2'@'127.0.0.1'                                              |
+--------------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)

mysql> quit
Bye

2. 常用sql语句

select count(*) from mysql.user;    //查看指定库的内容的行数
select * from mysql.db\G;                  //查看库的所有内容
select db from mysql.db;               //查看库指定内容
select db,user from mysql.db;       //
select * from mysql.db where host like '192.168.%'\G;    //查看某些IP对应的库内容,like表示匹配 (模糊查询)
insert into db1.t1 values (1, 'abc');      //在db1库t1表里插入内容(1,abc)
update db1.t1 set name='aaa' where id=1;      //更新表格里所有id为1的表,把name内容更改为aaa
truncate table db1.t1;    //清空一个表,留下表的格子
drop table db1.t1;         //删除一个表
drop database db1;      //删除一个库

3. mysql数据库备份恢复

备份库  mysqldump -uroot -p123456 db1> /tmp/db1.sql
恢复库 mysql -uroot -p123456 db1 < /tmp/db1.sql
备份表 mysqldump -uroot -p123456 db1 t1 > /tmp/user.sql
恢复表 mysql -uroot -p123456 db1 < /tmp/t1.sql
备份所有库 mysqldump -uroot -p -A >/tmp/123.sql
只备份表结构 mysqldump -uroot -p123456 -d mysql > /tmp/mysql.sql
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mysql