CREATE USER:创建用户
CREATE USER 'user'[@'host'] [ IDENTIFIED BY [PASSWORD] 'password'][,....]
CREATE USER 'dream'@'localhost' IDENTIFIED BY '123456','dream1'@'%'; 一个用户允许有多个账户,区分在于@host ,使用查询musql.user表可知。
DROP USER:删除用户
DROP USER 'user'@'host'
DROP USER dream1;//删除用户为dream1
DROP USER dream@localhost ; //删除用户dream且主机名为localhost
GRANT:设置权限
GRANT privilege[,...][(column[,...])][,...]
ON [TABLE|FUCTION|[PROCEDURE]{[{database|*}.{table|*}]|*}
TO 'user'@'host' [IDENTIFIED BY [PASSWORD] 'password'][,...]
[REQUIE NONE|
[{SSL|X509}][CIPHER 'cipher' [AND]]
[ISSUR 'issue' [AND]]
[SUBJECT 'subject']]
[WITH [GRANT OPTION
MAX_QUERIES_PER_HOUR count |
MAX_UPDATES_PRE_HOUR count|
MAX_CONNECTIONS_PER_HOUR count |
MAX_USER_CONNECTIONS count] ...]
权限 | 描述 |
ALL [PRIVILEGES] | 授予所有的基本权限,但并没有包括GRANT OPTION |
ALTER | 允许用户使用ALTER TABLE语句 |
ALTER ROUTINE | 允许用户账户修改或者删除存储程序。这包括ALTER/DROP FUNCTION、ALTER/DROP PROCEDURE |
CREATE | 授予CREATA TABLE语句权限 |
CREATE ROUTINE | 允许用户创建存储程序,CREATE FUNCTION/PROCEDURE,它包含ALTER ROUTINE。 |
CREATE TEMPORARY TABLES | 允许使用CREATE TEMPORARY TABLES字句 |
CREATE USER | 允许用户账户执行如下用户账户管理语句:CREATE USER,REMANE USER ,REVOKE ALL PRIVIEGES和DROP USER |
CREATE VIEW | 允许使用CREATE VIEW |
DELETE | 允许使用DELETE语句 |
DROP | 允许用户执行DROP TABLE和TRUNCATE语句 |
EVENT | 允许用户账户为时间调度程序创建事件。该权限存储CREATE EVENT、ALERT EVENT、DROP EVENT |
EXECUTE | 允许存储程序的执行 |
FILE | 允许使用SELECT ... INTO OUT FILE和LOAD DATA INFILE语句。SELECT .... INTO OUT FILE从一个表导出记录到文件,LOAD DATA INFILE从一个文件向表导入数据 |
GRANT OPTION | 允许使用GRANT语句向用户授权,在GRANT语句中,使用WITH子项指定该选项 |
INDEX | 允许使用CREATE INDEX和DROP INDEX语句 |
INSERT | 允许使用INSERT语句 |
LOCK TABLES | 允许具有SELECT权限的用户使用LOCK TABKES语句 |
PROCESS | 允许使用SHOW FULL PRICESSLIST语句 |
REFERENCES | |
RELOAD | 允许使用FLUSH和REST语句 |
REPLICATION CLIENT | 允许用户查询主服务器和从属服务器的状态信息 |
REPLICATION SLAVE | 需要复制主服务器。允许从主服务器上读取二进制日志时间 |
SELECT | 允许使用SELECT语句 |
SHOW DATABASES | 对所有数据库,允许使用SHOW DATABASES语句,而不仅仅是用户具有权限时才可以使用 |
SHOW VIEW | 允许使用SHOW CREATE VIEW语句 |
SHUTDOWN | 允许使用shutdow选项的mysqladmin实用工具 |
SUPER | 允许使用CHANGE MASTER、KILL、PURCG MASTER LOGS和SET GLOBAS语句,以及带有debug选项的命令行实用工具mysqladmin |
TRIGGER | 允许用户创建或删除触发器:CREATE TRIGGER和DROP TRIGGER |
UPDATE | 允许使用UPDATE语句 |
RENAME USER语法
RENAME USER ‘user’[@'host'] TO 'user'[@'host'] [,....]
RESET语法
RESET [QUERY CACHE|MASTER|SLAVE]
使用RESET语句来重置某些服务器的环境和日志文件。
QUERY CACHE选项清空包含SQL查询结果的缓存
MASTER选项重置用户复制的主服务器,必须重主服务器执行。
SLAVE选项用于重置用护肤之的从属服务器,必须在从属服务器执行。
REVOKE语法:撤销用户权限
REVOKE ALL PRIVILEGES,GRANT OPTION FROM user[...]
REVOKE privileges[,...][(column[,...])]
ON{[{database|*}.{table|*}]|*}
FROM 'user'@'host'[,...]
SET PASSWORD语法:更改账户用户密码
SET PASSWORD [FOR ‘user’@'host']=PASSWORD('password')
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('root');
SHOW GRANTS语法:显示用户权限列表
SHOW GRANTS [FOR ‘user’[@'host']]
返回当前用户信息
CURRENT_USER();
SESSION_USER();
SYSTEM_USER();
USER();//建议使用USER()
用户安全函数:加减密函数
AES_DECRYPT(string,password)、DES_DECRYPT(string,password)
DECODE(string,password)、ENCODE(string,password)
DES_ENCRYPT(string,[key])、AES_ENCRYPT(string,password)
MD5()、SHA()、SHA1()
PASSWORD()、OLD_PASSWORD()