MySQL数据库权限管理——(九)
10.1SQL命令操作用户管理
- 本质就是对其创建,授权,查看,撤销,删除
-- 创建用户
-- 格式:CREATE USER 'username'@'host' IDENTIFIED by '密码';
CREATE USER 'qzp'@'localhost' IDENTIFIED by '123456';
-- 修改密码方式一
-- 格式:ALTER USER 'username'@'host' IDENTIFIED by '密码';
ALTER USER 'qzp'@'localhost' IDENTIFIED by '111111';
-- 修改密码方式二(修改当前用户密码)
-- 格式:SET PASSWORD = PASSWORD('密码');
SET PASSWORD = PASSWORD('root');
-- 修改密码方式三(修改指定用户密码)
-- 格式:SET PASSWORD FOR 'username'@'host' = PASSWORD('密码');
SET PASSWORD FOR 'qzp'@'localhost' = PASSWORD('123456');
-- 给用户重命名
-- 格式:RENAME USER 旧用户名 TO 新用户名;
RENAME USER 'qzp'@'localhost' TO 'qzy'@'localhost';
-- 查看创建用户
SELECT user,Host FROM mysql.user;-- MySQL
SELECT username FROM dba_users;-- Oracle
-- 用户授权
-- ALL PRIVILEGES 全部的权限,库、表
-- 格式:grant 权限1,权限2...权限n on 数据库名称.表名称 to 用户名@用户地址 identified by ‘连接密码’ with grant option;
GRANT all PRIVILEGES ON *.* TO 'qzy'@'%';
-- 查看权限
-- 格式:SHOW GRANTS FOR 用户名@用户地址;
SHOW GRANTS FOR 'qzy'@'localhost';-- 查看指定用户的权限
-- GRANT ALL PRIVILEGES ON *.* TO 'qzy'@'%';
SHOW GRANTS FOR root@localhost;-- 查看管理员权限
-- GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
-- 撤销权限
REVOKE ALL PRIVILEGES ON *.* FROM 'qzy'@'localhost';
-- 删除用户
DROP USER 'qzy'@'localhost';
创建用户注意事项:
- username:你将创建的用户名
- host:指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost,如果想让该用户可以从任意远程主机登陆,可以使用通配符
%
- password:该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器
grant使用注意事项:
1、权限1,权限2,权限3,…权限n代表select,instert,update,delete,create,drop,index,alter,grant,references,reload等14个权限
2、当权限1,权限2…权限n被 all privileges 或者 all 代替,表示赋予用户全部权限
3、当数据库名称.表名称被 . 代替,表示赋予用户操作服务器上所有数据库所有表的权限
4、用户地址可以是localhost,也可以是ip地址,机器人名字,域名。也可以用 ‘%’ 表示从任何地址连接
5、‘连接密码’不能为空,否则创建失败
6、with grant option允许用户将自己的权限授予其他用户
10.2权限说明
权限 | 权限级别 | 权限说明 |
---|---|---|
CREATE | 数据库、表或索引 | 创建数据库、表或索引 |
DROP | 数据库或表 | 删除数据库或表 |
DELETE | 表 | 删除数据 |
SELECT | 表 | 查询数据 |
UPDATE | 表 | 更新数据 |
INSERT | 表 | 插入数据 |
ALTER | 表 | 更改表,例如:添加字段,索引等 |
SHOW VIEW | 视图 | 查看视图 |
CREATE VIEW | 视图 | 创建视图 |
GRANT OPTION | 数据库、表或保存的程序 | 赋予权限选项 |
REFERENCES | 数据库或表 | |
INDEX | 表 | 索引 |
ALTER ROUTINE | 存储过程 | 更改存储过程 |
CREATE ROUTINE | 存储过程 | 创建存储过程 |
EXECUTE | 存储过程 | 执行存储过程 |
FILE | 服务器主机上的文件访问 | 文件访问权限 |
CREATE TEMPORARY TABLES | 服务器管理 | 创建临时表 |
LOCK TABLES | 服务器管理 | 锁表权限 |
CREATE USRE | 服务器管理 | 创建用户 |
PROCESS | 服务器管理 | 查看进程权限 |
RELOAD | 服务器管理 | 执行flush-hosts,flush-logs,flush-privileges,flush-status.flush-tables,flush-threads,refresh,reload等命令权限 |
REPLICATION CLIENT/SLAVE | 服务器管理 | 复制权限 |
SHOW DATABASES | 服务器管理 | 查看数据库权限 |
SHUTDOWN | 服务器管理 | 关闭数据库权限 |
SUPER | 服务器管理 | 执行kill线程权限 |