跳到主要内容

权限

序号权限级别说明
1create数据库、表、索引创建库、表、索引
2drop数据库或表删除库或表
3grant option数据库、表或保存的程序表约束表(子表)
4REFERENCES数据库或表更改表
5alter更改表
6delete删除数据权限
7index索引权限
8insert插入权限
9select查询权限
10update更新权限
11create VIEW视图创建试图权限
12show VIEW视图查看视图权限
13alter ROUTINE储存过程更改储存过程
14create ROUTINE储存过程创建储存过程
15EXECUTE储存过程执行储存权限
16FILE服务器主机上文件访问文件访问权限
17create temporary tables服务器管理创建临时表权限
18LOCK tables服务器管理锁表权限
19create user服务器管理创建用户
20PROCESS服务器管理查看进程
21RELOAD服务器管理某些命令权限
22REPLICATION CLIENT服务器管理复制权限
23REPLICATION SLAVE服务器管理复制权限
24show databases服务器管理查看数据库权限
25SHUTDOWN服务器管理关闭数据库权限
26SUPER服务器管理执行 kill 线程权限
  • 权限最小化
  • 限制 IP
  • 初始化数据库删除没密码的账户
  • 定期清理过期用户

添加用户

 grant all privileges -- 给所有权限
on *.* -- 给特定表权限
to `lmssee`@`%` -- 用户名 @ 后填位置,% 代表任何位置
-- 指定新用户的密码,非新用户不可以添加下面的指定密码
identified by 'password'
with grant option -- 用户可以将自己的权限给别人
;

添加一个账户:

create user 'user name'@'where'' identified by 'password';

赋予权限

grant select,insert,update,delete on main.* to`lmssee`@`localhost`;
show grants; -- 查看本人权限
show grants for 'who'@'where'; -- 查看权限

刷新权限

flush privileges; -- 刷新权限,使立即生效

回收权限

revoke 某权限 onfrom 'who'@'where';

账户重命名

rename user 'who@'where' to 'who@'where';

修改密码

set password for 'who@'where' = password(' password ');
update mysql.user set password = password(' password ') where user='';
alter user 'userName'@'localhost' identified by 'new password'; -- 新版本密码更改方式
alter user user() identified by 'new password'; -- 实名登陆时

遗忘密码时候(记得改完密码删掉):

vim /etc/my.cnf # 打开会创建配置文件
[mysqld] # 添加配置组(或将下面的配置添加到已有的该组)
skip-grant-tables # 添加免密登陆

查询用户

 select host,user from MySQL.user;

删除用户

drop user`who`@`where`;