创建用户

CREATE USER '用户名'@'允许连接的IP' IDENTIFIED BY '你的密码';

授权

GRANT ALL ON *.* TO '用户名'@'%';

授权用户可以授权其他用户

(默认通过上面授权的用户无法自己授权其他用户),privileges 为权限比如 ALL,SELECT,INSERT等

GRANT privileges ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION;

设置与更改用户密码

SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');
# 如果是当前登陆用户
SET PASSWORD = PASSWORD("newpassword");

撤销用户权限

REVOKE privilege ON databasename.tablename FROM 'username'@'host';

假如你在给用户'username'@'%'授权的时候是这样的(或类似的):GRANT SELECT ON test.user TO 'username'@'%',则在使用REVOKE SELECT ON . FROM 'pig'@'%';命令并不能撤销该用户对test数据库中user表的SELECT 操作。相反,如果授权使用的是GRANT SELECT ON . TO 'pig'@'%';则REVOKE SELECT ON test.user FROM 'pig'@'%';命令也不能撤销该用户对test数据库中user表的Select权限。

查看用户授权

SHOW GRANTS FOR 'username'@'%';

删除用户

DROP USER 'username'@'host';

刷新MySQL用户权限

FLUSH PRIVILEGES;

允许root用户远程登录

GRANT ALL ON *.* TO root@'%' IDENTIFIED BY 'root用户密码';