MySQL服务器的安全基础是:用户应该对他们需要的数据具有适当的访问权,既不能多也不能少。
管理用户
1、查看所有用户
use mysql;
select user from user;
2、创建用户
create user ben identified by 'password';
3、重命名用户
rename user ben to benku
4、删除用户
drop user benku
设置访问权限
1、查看权限
show grants for benku
//结果
//GRANT USAGE ON *.* TO 'benku'@'%'表示任何权限
+-----------------------------------+
| Grants for benku@% |
+-----------------------------------+
| GRANT USAGE ON *.* TO 'benku'@'%' |
+-----------------------------------+
2、赋予权限
//允许用户在crashcourse的所有表上使用select
grant select on crashcourse.* to benku;
//撤销权限
revoke select on crashcourse.* from benku;
//可以将多个权限简化在一个语句中
grant select, insert on crashcourse.* to benku;
grant和revoke可在几个层次控制访问权限:
- 整个服务器,使用grant all和revoke all
- 真个数据库,使用on database.*
- 特定的表,使用on database.table
- 特定的列
- 特定的存储过程
详情见下图:
\1.png3、更改密码
set password for benku = password('new password');
//当前用户可简化为
set password = password('new password');
参考书籍:
- MySQL必知必会
网友评论