MySQL用户管理
MySQL用户账号管理:CREATE USER、DROP USER、RENAME USER、SET PASSWORD
MySQL权限管理:GRANT、REVOKE
一、CREATE USER(创建用户)
CREATE USER 'username'@'hostname'
[
IDENTIFIED BY [PASSWORD] 'password';
]
主机名可以使用通配符:%和_
例如(允许10.10.10.100到10.10.10.199访问):
CREATE USER fansik@'10.10.10.1__' IDENTIFIED BY 'fanjinbao';;
查看用户能够使用的权限:
SHOW GRANTS FOR fansik@'localhost';
二、RENAME USER(修改用户名)
RENAME USER fan@'localhost' TO zhangsan@'127.0.0.1';
三、SET PASSWORD(修改用户密码)
SET PASSWORD FOR zhangsan@'127.0.0.1' = PASSWORD('lisi');
四、DROP USER(删除用户)
DROP USER zhangsan@'127.0.0.1';
五、MySQL权限
(权限类别:库级别、表级别、字段级别、管理类的权限、程序类)
管理类权限:
CREATE TEMPORARY TABLES(创建临时表)
CREATE USER(创建用户)
FILE(在服务器上读取或写入某个文件的)
SUPER(杂项管理类命令)
SHOW DATABASES(查看数据库有哪些)
SHUTDOWN(关闭服务器)
RELOAD(Use FLUSH and RESET)
REPLICATION CLIENT(与主从复制相关)
REPLICATION SLAVE(与主从复制相关)
LOCK TABLES(显式施加表锁)
PROCESS(查看活动线程)
库级别和表级别:
ALTER(修改表结构)
ALTER ROUTINE(修改存储过程和存储函数)
CREATE(创建)
CREATE ROUTINE(创建存储过程)
CREATE VIEW(创建视图)
DROP(删除)
EXECUTE(执行)
GRANT OPTION(把自己的权限转赠个他人的)
INDEX(索引)
SHOW VIEW(查看视图)
数据操作(表级别):
SELECT(查询)
INSERT(插入)
UPDATE(修改)
DELETE(删除)
GRANT(授权)
授权fansik用户可以登录并创建testdb数据库
GRANT CREATE ON testdb.* TO fansik@'localhost' IDENTIFIED BY 'fanjinbao';
GRANT SELECT,UPDATE,DELETE,INSERT ON testdb.* TO fansik@'localhost';
撤销权限
REVOKE INSERT ON testdb.* FROM fansik@localhost;
和用户授权相关的表:
db:库级别的权限
host:主机级别的权限,已废弃
tables_priv:表级别权限
columns_priv:列级别权限
procs_priv:存储过程和存储函数相关的权限
proxies_priv:代理用户权限