3 用户跟权限
用户跟权限的相关信息,都是保存在下面表中:
- mysql.user
- mysql.db/host/table/priv…
mysql.user
是一个非常重要非常特殊的表,它保存了所有的账号信息,以及保存了账号的权限信息。
如果要操作用户和权限,有两种方式:
- 使用相关的授权语句
- 直接修改 mysql.user 表
第一种方式:
-- 查看用户 select current_user(), user(); select * from mysql.user; -- 创建与授权 create user 'xxx'@'host' identified by '密码'; grant all on ttt.* to 'user'@'host' with grant options; -- 查看授权情况 show grants for 'user'@'host'; -- 用户的管理,删除密码等 set password for 'user'@'host' = password('新密码'); drop user vip; -- 授权的相对完整语法为: grant all/alter/create/drop/select/update/delete on *.* -- db.*/db.table to 'user'@'host' identified by '密码' with max_user_connections 2 max_connections_pser_hour 5;
第二种方式:
-- 增加用户 insert into mysql.user(host, user, password) values (xx, yy, zz); -- 修改密码 update mysql.user set password=password('新密码') where user='vip' and host='%'; -- 修改权限 update mysql.user set event_priv='Y' where user='vip' and host='%'; -- 注意,使用 sql 语句修改用户跟权限之后,需要手动刷新权限表 flush privileges;