MySQL用户管理

首先使用root用户登录mysql(或者有操作权限的用户),然后切换到名称为mysql的数据库

1
2
> mysql -h192.168.1.1 -uroot -p123456
mysql> use mysql;

添加用户

1
2
3
4
5
6
7
8
create user test_user identified by '123456';

select host,user,password from user where user = 'test_user';
+------+-----------+-------------------------------------------+
| host | user | password |
+------+-----------+-------------------------------------------+
| % | test_user | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
+------+-----------+-------------------------------------------+

用户授权

1
2
3
4
5
6
grant all privileges on *.* to test_user@'%' identified by '123456';
flush privileges;

# 如果需要指定限制访问的IP段,或者指定访问的数据库
grant all privileges on test_db.* to root@'10.20.30.%' identified by '123456';
flush privileges;

用户撤权,revoke 跟 grant 的语法差不多,只需要把关键字 “to” 换成 “from” 即可:

1
revoke all on test_db.* from root@'10.20.30.%' identified by '123456';

修改密码

1
2
update mysql.user set password = password('654321') where user = 'test_user' and host = '%';
flush privileges;

删除用户

1
drop user test_user@'%';