mysql-DCL用户及权限管理
DCL:管理用户,授权
1. 管理用户
CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码'; --添加用户
DROP USER '用户名'@'主机名'; --删除用户
-- 改用户密码:
UPDATE USER SET PASSWORD = PASSWORD('新密码') WHERE USER = '用户名';
UPDATE USER SET PASSWORD = PASSWORD('abc') WHERE USER = 'lisi';
SET PASSWORD FOR '用户名'@'主机名' = PASSWORD('新密码');
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123');
2. 查询用户:
-- 步骤1. 切换到mysql数据库
USE myql;
-- 步骤2. 查询user表
SELECT * FROM USER; -- 字段太多了
select user,host,password from user;
--通配符: % 表示可以在任意主机使用用户登录数据库
3. 查看当前登录的账户
select user();
4. 权限管理:
-- 查询权限
SHOW GRANTS FOR '用户名'@'主机名';
SHOW GRANTS FOR 'lisi'@'%';
-- 授予权限
grant 权限列表 on 数据库名.表名 to '用户名'@'主机名';
-- 给张三用户授予所有权限,在任意数据库任意表上
GRANT ALL ON *.* TO 'zhangsan'@'localhost';
-- 撤销权限
revoke 权限列表 on 数据库名.表名 from '用户名'@'主机名';
REVOKE UPDATE ON db3.`account` FROM 'lisi'@'%';
允许远程访问
方法1:授权
grant all privileges on *.* to 'root' @'%' identified by 'root密码'; -- 授权
flush privileges; -- 刷新权限