mysql权限操作
创建普通用户:
CREATE USER 'test1'@'localhost' IDENTIFIED BY '***';
GRANT SELECT ,
INSERT ,
UPDATE ,
DELETE ,
CREATE ,
DROP ,
FILE ,
INDEX ,
ALTER ,
CREATE TEMPORARY TABLES ,
CREATE VIEW ,
EVENT,
TRIGGER,
SHOW VIEW ,
CREATE ROUTINE,
ALTER ROUTINE,
EXECUTE ON * . * TO 'test1'@'localhost' IDENTIFIED BY '***' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;
设置密码:
SET PASSWORD FOR 'test1'@'localhost' = PASSWORD( '****' )
删除用户:
DROP USER ''@'%';
DROP USER 'q1'@'localhost';
创建只允许查看数据的用户:
CREATE USER 'test2'@'localhost' IDENTIFIED BY '***';
GRANT SELECT ON * . *
TO 'test2'@'localhost'
IDENTIFIED BY '***'
WITH MAX_QUERIES_PER_HOUR 0
MAX_CONNECTIONS_PER_HOUR 0
MAX_UPDATES_PER_HOUR 0
MAX_USER_CONNECTIONS 0 ;
修改用户权限:
REVOKE GRANT OPTION ON * . * FROM 'test2'@'localhost';
GRANT SELECT ,
INSERT ,
UPDATE ,
DELETE ON * . * TO 'test2'@'localhost' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;
------------------------------------------------
数据
SELECT 允许读取数据。
INSERT 允许插入和替换数据。
UPDATE 允许修改数据。
DELETE 允许删除数据。
FILE 允许从文件中导入数据以及将数据导出至文件。
结构
CREATE 允许从文件中导入数据以及将数据导出至文件。
ALTER 允许修改现有数据表的结构。
INDEX 允许创建和删除索引。
DROP 允许删除数据库和数据表。
CREATE TEMPORARY TABLES 允许创建临时表。
SHOW VIEW 允许执行 SHOW CREATE VIEW 查询
CREATE ROUTINE 允许创建存储过程。
ALTER ROUTINE 允许修改或删除储存过程。
EXECUTE 允许运行存储过程。
CREATE VIEW 允许创建视图。
EVENT 允许为事件触发器设置事件
TRIGGER 允许创建和删除触发器
管理
GRANT 允许添加用户和权限,而不允许重新载入权限表。
SUPER 允许在达到最大连接数时连接,对于大多数像设置全局变量或杀死其它用户线程这样的管理操作是必需的。
PROCESS 允许查看所有用户的进程
RELOAD 允许重新载入服务器设置并刷新服务器的缓存。
SHUTDOWN 允许关闭服务器。
SHOW DATABASES 允许访问完整的数据库列表。
LOCK TABLES 允许锁定当前线程的表。
REFERENCES 在此版本的 MySQL 中无效。(5.5.8)
REPLICATION CLIENT 用户有权询问附属者/控制者在哪里。
REPLICATION SLAVE 回复附属者所需。
CREATE USER 允许创建、删除和重命名用户账户。
资源限制
注意:若将这些选项设为 0(零) 即不限制。
MAX QUERIES PER HOUR 限制用户每小时可发送到服务器的查询数。
MAX UPDATES PER HOUR 限制用户每小时可执行的修改任何数据表或数据库的命令数。
MAX CONNECTIONS PER HOUR 限制用户每小时打开的新连接数。
MAX USER_CONNECTIONS 限制该用户的并发连接数。