-- 用户权限管理
-- 不同项目 不同角色 不同的操作权限 为了保护数据库数据安全
-- 用户本身安全
-- Mysql 需要客户端连接认证才能进行服务器操作 需要用户信息
-- mysql 中所有的用户信息都保存在mysql数据库下的user表中
SELECT * FROM Mysql.user;
-- 默认 超级用户root
DESC mysql.user;
-- 在用户管理中 有host 和user 共同组成主键来区分用户
-- user 用户名
-- host 允许访问的客户端(IP 主机地址)
--
-- 创建用户
CREATE USER 'user'@'%' IDENTIFIED BY 'user';
-- 用户 : 用户名@主机地址
-- 主机地址: "/'%'
-- 查看新增用户
SELECT * FROM mysql.user;
-- 删除用户
DROP USER 'USER'@'%';
-- 修改密码
-- 密码经过加密处理 需要使用password()
-- set password for 'user'@'%' = password('useruser');
UPDATE mysql.user SET PASSWORD = PASSWORD('useruser') WHERE USER = 'user' AND HOST = '%';
-- 权限管理分为 三类
-- 数据权限 增删改查
-- 结构权限 结构操作
-- 管理权限 权限管理
-- 授权 grant
-- ALL PRIVILEGES 代表全部权限
GRANT ALL PRIVILEGES
GRANT SELECT ON runoob.* TO 'user'@'%';
-- 取消权限 revoke
-- 将权限从用户手中回收user
REVOKE ALL PRIVILEGES ON runoob.* FROM 'user'@'%'
-- 刷新权限 flush
FLUSH PRIVILEGES ;