1. 新增用户
- mysql>insert into mysql.user(Host,User,Password) values("localhost","lionbule",password("hello1234"));
- mysql>flush privileges;
2. 修改用户密码
- mysql>update mysql.user set password=password('new password') where User="lionbule" and Host="localhost";
- mysql>flush privileges;
3. 删除用户
- mysql>DELETE FROM user WHERE User="lionbule" and Host="localhost";
- mysql>flush privileges;
4. 权限分配
4.1. grant用法
grant 权限 on 数据库.* to 用户名@'登录主机' identified by '密码'
- 权限:
- 常用总结, ALL/ALTER/CREATE/DROP/SELECT/UPDATE/DELETE
- 数据库:
- *.* 表示所有库的所有表
- test.* 表示test库的所有表
- test.test_table 表示test库的test_table表
- 用户名:
- mysql账户名
- 登陆主机:
- 允许登陆mysql server的客户端ip
- '%'表示所有ip
- 'localhost' 表示本机
- '192.168.10.2' 特定IP
- 密码:
- 账户对应的登陆密码
4.2 例子
- mysql>grant all on test.* to lionbule@'%' identified by 'hello1234';
- mysql>flush privileges;
新增密码为‘hello234’的用户lionbule对test库拥有所有操作权限,并不限制lionbule用户的登陆IP。
撤销已经赋予给 MySQL 用户权限的权限。
revoke 跟 grant 的语法差不多,只需要把关键字 “to” 换成 “from” 即可:
- grant all on *.* to dba@localhost;
- revoke all on *.* from dba@localhost
4.3 注意事项
grant 会覆盖用户的部分信息,跟insert 、update执行功能一样.