那些年的记忆

习惯改变行为,行为决定命运。

MySQL 用户及权限

1. 与用户相关的授权表:

user

    每一行主是一个用户账号(用户名、主机名和加密后的密码)以及用户的全部权限

db

    每一行包含了某个用户在数据库级权限

host

    每一行包含了用户从指定主机登录过来时它在一个数据库里的所有权限

tables_priv

    每一行包含了指定用户和表的表级别上的权限,也包括了视图的权限在内

columns_priv

    每一行包含了指定用户和列的列级别上的权限

procs_priv(5.0以上版本引入)

    每一行包含了指定用户和存储程序(存储过程和函数)的权限


2. 权限检查顺序:

user->host/db->tables_priv->columns_priv->procs_priv


3. 增加、删除和查看授权

查看当前用户权限:

mysql> SHOW GRANTS;

查看其他用户权限:

mysql> SHOW GRANTS FOR root@'localhost';

设置用户权限:

mysql> GRANT ALL PRIVILEGES ON *.* TO 'cloud_user'@'%' IDENTIFIED BY 'ibinfen';

或者:

mysql> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, EXECUTE ON *.* TO 'cloud_user'@'192.168.0.%' IDENTIFIED BY 'ibinfen';

还可以:

mysql> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, EXECUTE ON `%Base`.* TO 'cloud_user'@'192.168.0.%' IDENTIFIED BY 'ibinfen';

刷新权限:

mysql> FLUSH PRIVILEGES;

取消用户权限:

mysql> REVOKE ALL PRIVILEGES ON *.* FROM 'root'@'%';

注:取消用户权限后,用户还是可以连接进来的。必须需要使用DROP USER彻底删除账号。


发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。