1、创建用户
语法:create user 'username'@'host' identified by 'password';
identified by 'password':不写就是不设密码。
username:新建的用户名
host:连接方式,%允许远程连接、localhost是只能本地连接
-- 不设密码
create user 'test'@'%';
-- 设密码
create user 'test'@'%' identified by '123456';
2、删除用户
语法:drop user 'username'@'host';
delete from mysql.user where user = 'username' and host = 'host';
使用root用户进行或使用具有delete全局权限用户进行
-- drop删除
drop user 'test'@'%';
-- delete删除
delete from mysql.user where user = 'test' and host = '%';
3、 用户赋权
语法:grant privileges on db.table to 'username'@'%' with grant option;
privileges:权限内容,如select、update、delete等
with grant option:用户可以将自己的权限给别的用户,根据需求添加,可以不写。
-- 添加查询权限(给用户test添加对test库的查询权限,可以细化到某个表,*表示所有)
grant select on test.* to 'test'@'%';
-- 添加对test库的管理权限(拥有对test库的所有权限)
grant all on test.* to 'test'@'%';
-- 刷新授权,使之立即生效
flush privileges;
-- 查看当前登录用户的权限
show grants;
-- 查看其他用户权限
show grants for 'test1'@'%';
关键字 | 作用 |
select | 查询 |
insert | 插入 |
update | 更新 |
delete | 删除 |
create | 创建(表、视图、索引等) |
alter | 修改(表、视图、索引等) |
drop | 删除(表、视图、索引等) |
references | 编辑外键 |
create temporary table | 编辑临时表 |
index | 编辑索引 |
create view | 编辑视图 |
show view | 查看视图 |
create routine | 操作存储过程、函数(赋权该权限时会自动赋予下面的两个权限) |
alter routine | 修改存储过程、函数 |
execute | 执行权限 |
all | 所有权限 |
4、 权限撤销
语法:revoke privilege on db.table from 'username'@'host';
用法参考用户赋权,alter 换 revoke,to 换 from。
-- 撤销test用户对test库的查询权限
revoke select on test.* from 'test'@'%';
-- 撤销test用户对test库的所有权限
revoke all on test.* from 'test'@'%';