创建用户
语法:
create user 用户名 identified BY '密码';
- 示例
create user xxx_guest identified by '123456';
- 查看是否创建成功
select host, user from user;
给用户赋予权限
- 先查看一下用户权限
show grants FOR xxx_guest@'%';
下面开始赋予用户权限,这里以给用户设置 test_db
库所有表的相关权限为例:
语法:
grant 权限 on 数据库.数据表 to '用户' @ '主机名';
“主机名”说明:localhost
表示只能本地登录,%
表示本地、远程皆可
-- 赋予所有权限,其中的 test_db.* 表示对数据库test_db下所有表的操作
grant all privileges on test_db.* to 'xxx_guest'@'%';
-- 赋予部分权限
grant select,insert,update,delete,create,drop on test_db.* TO 'xxx_guest'@'%';
-
再次查看一下该用户的权限
-
使用该用户连接navicat,看看效果:
登录进去之后,只能看到权限范围之内的相关库和表:
撤销用户
- 撤销部分权限
revoke update on test_db.* from 'xxx_guest'@'%';
-- 说明:撤销 该用户对于test_db数据库所有表的 update 权限
- 撤销所有权限
revoke all on *.* from 'xxx_guest'@'%';
注意:执行操作之后要刷新一下权限
flush privileges;
(刷新MySQL的系统权限相关的表,使操作生效)