Mysql用户权限与账号管理
一、用户管理基础
用户账户:MySQL服务器用于识别不同用户身份的账号,每个用户账户由用户名和主机名组成。
用户权限:定义用户可以执行的操作,如查询、插入、更新数据等。
1.1 创建用户账号
格式
create user ‘用户名’@‘主机名’ identified by 'password';
1.2 删除用户账号
drop user ‘用户名’@‘主机名’
1.3 权限类型
- 数据库级别:对整个数据库的操作权限。
- 表级别:对特定表的操作权限。
- 列级别:对特定列的操作权限。
- 存储过程和函数级别:对存储过程和函数的操作权限
授予权限
格式:
create 权限(select,insert等) on 表名 to '用户名'@‘主机名’
撤销权限
格式
revoke 权限(select,insert等) on 表名 from '用户名'@‘主机名’
二. 高级用户管理
访问控制
主机名限制:在创建用户时指定主机名,限制用户名的登录来源。ssl值连接方式,属于加密方式,增强数据传输的安全性。
格式:
creaete all privileges on 数据库名. * to '用户名'@‘特殊主机名’ require ssl;
三、操作
创建用户账号
CREATE USER 'user'@'localhost' IDENTIFIED BY '123456;
授予账号权限
GRANT SELECT, INSERT ON mydb.* TO 'user'@'localhost';
更新用户密码
SET PASSWORD FOR 'user'@'localhost' = PASSWORD('123455');
撤销权限(撤销在user在mydb数据库中order表的select权限)
REVOKE INSERT ON mydb.orders FROM 'user'@'localhost';
删除用户账号
DROP USER 'user'@'localhost';
查看用户权限
SHOW GRANTS FOR 'user2'@'lcalhost';