mysql private
1 查看用户权限
SELECT user,authentication_string,plugin,host FROM mysql.user;
2 设置密码策略
set global validate_password_policy=0;
3 给用户授以管理员权限
管理员是可以管理用户的用户,在授权时,我们需要添加上WITH GRANT OPTION
,予以标记。
给用户exchange授以管理权限,但是仅能管理数据库exchange,这时可以用如下语句展开授权。
GRANT ALL PRIVILEGES ON exchange.* TO 'exchange'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
如果要让用户可以管理所有数据库,应将授权语句修改为:
GRANT ALL PRIVILEGES ON *.* TO 'exchange'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
4 给用户授以普通用户权限
如果不想给用户授以管理员权限且可以管理所有数据库,那么应该将语句修改为:
GRANT ALL PRIVILEGES ON *.* TO 'exchange'@'%' IDENTIFIED BY '123456';
5 收回用户权限
如果要收回用户exchange的相应权限,可以执行如下语句:
revoke all on *.* from 'exchange'@'%';
6 移除用户
如果要移除用户exchange,可以执行如下语句:
drop user 'exchange'@'%';
案例
mysql> CREATE USER 'lwk'@'%' IDENTIFIED BY '123456';Query OK, 0 rows affected (0.00 sec)mysql> select user,authentication_string,plugin,host from mysql.user;+------------------+------------------------------------------------------------------------+-----------------------+-----------+| user | authentication_string | plugin | host |+------------------+------------------------------------------------------------------------+-----------------------+-----------+| lwk | *4F763CCD7253D8C1794D34715CC38B9F3AA6082F | mysql_native_password | % || mysql.infoschema | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password | localhost || mysql.session | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password | localhost || mysql.sys | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password | localhost || root | | auth_socket | localhost |+------------------+------------------------------------------------------------------------+-----------------------+-----------+5 rows in set (0.00 sec)mysql> GRANT ALL PRIVILEGES ON *.* TO 'lwk'@'%';Query OK, 0 rows affected (0.02 sec)mysql>