mysql> SHOW GRANTS FOR root@'192.168.88.52'; #查看指定用户权限(Usage可登录)
mysql> SHOW GRANTS; #查看当前用户权限
mysql> GRANT SELECT ON *.* TO root@'192.168.88.52'; #用户授权
mysql> SHOW GRANTS FOR root@'192.168.88.52'; #查看指定用户权限
mysql> GRANT UPDATE,DELETE ON *.* TO root@'192.168.88.52'; #用户授权(叠加操作)
mysql> SHOW GRANTS FOR root@'192.168.88.52'; #查看指定用户权限
mysql> GRANT ALL ON *.* TO root@'192.168.88.52'; #ALL为MySQL的所有权限
mysql> SHOW GRANTS FOR root@'192.168.88.52'; #查看指定用户权限
mysql> REVOKE INSERT,DELETE,DROP ON *.* FROM root@'192.168.88.52'; #削减指定权限
mysql> SHOW GRANTS FOR root@'192.168.88.52'; #查看指定用户权限
mysql> REVOKE ALL ON *.* FROM root@'192.168.88.52'; #削减用户拥有的所有权限
mysql> SHOW GRANTS FOR root@'192.168.88.52'; #ALL不包含Usage
#目前版本中GRANT关键字支持创建不存在的用户,高版本中不支持
mysql> GRANT SELECT ON *.* TO admin@'localhost' IDENTIFIED BY '123qqq...A';
mysql> SELECT user,host FROM mysql.user;
/*
相关表:
mysql.user :用户信息及全局权限
mysql.db :指定库下所有表权限
mysql.tables_priv :指定库下指定表权限
mysql.columns_priv :指定库下指定表指定字段权限
*/
#查看相关表结构
mysql> DESC mysql.user;
mysql> DESC mysql.db;
mysql> DESC mysql.tables_priv;
mysql> DESC mysql.columns_priv;
##测试权限分布
#测试用户信息
mysql> CREATE USER admin@'localhost' IDENTIFIED BY '123qqq...A'; #创建新用户
mysql> SELECT * FROM mysql.user WHERE user='admin'\G #查看用户信息
#测试指定库下指定表指定字段权限
mysql> GRANT UPDATE(shell) ON tarena.user TO admin@'localhost'; #用户授权
mysql> SHOW GRANTS FOR admin@'localhost'; #查看用户权限
mysql> SELECT * FROM mysql.columns_priv; #查看权限分布
mysql> SELECT * FROM mysql.tables_priv; #查看权限分布
#测试指定库下指定表权限
mysql> GRANT SELECT ON tarena.user TO admin@'localhost'; #用户授权
mysql> SHOW GRANTS FOR admin@'localhost'; #查看用户权限
mysql> SELECT * FROM mysql.tables_priv; #查看权限分布
#测试指定库下所有表权限
mysql> GRANT DELETE ON tarena.* TO admin@'localhost'; #用户授权
mysql> SHOW GRANTS FOR admin@'localhost'; #查看用户权限
mysql> SELECT * FROM mysql.db\G #查看权限分布
#测试所有库所有表(全局)权限
mysql> GRANT INSERT ON *.* TO admin@'localhost'; #用户授权
mysql> SHOW GRANTS FOR admin@'localhost'; #查看用户权限
mysql> SELECT * FROM mysql.user WHERE user='admin'\G #查看权限分布