方式1:
mysql> select host, user, password from MysqL.user; -- 5.7版本之前的 MysqL> select host, user, authentication_string from MysqL.user; -- 5.7版本之后的,包括5.7
方式2:
MysqL> select distinct concat('User: ''',user,'''@''',host,''';') as query from MysqL.user;
all表示所有权限
select表示只查权限
update表示只改权限
delete表示只删权限等。
方式1:
MysqL> show grants for "user"@"host"; MysqL> show grants for "root"@"localhost";
方式2:
MysqL> select * from MysqL.user where user='root'\G;
添加授权用户(新创建的用户,默认情况下是没有任何权限的):使用root用户登录数据库
命令格式如下:
MysqL> create user "用户名"@"IP地址" identified by "密码";
MysqL> create user "haidon" identified by "123456"; -- 此时密码为123456,host值为%。 MysqL> create user "haidon"@"%" identified by "123456"; -- 此时密码为123456
命令格式如下:
MysqL> grant 权限类型 on 数据库名.表名 to '用户名'@'ip地址' identified by '用户密码' with grant option;
常用的权限类型有以下几种:
all privileges:所有权限。
select:读取权限。
create:创建权限。
delete:删除权限。
update:更新权限。
drop:删除数据库、数据表权限。
允许访问所有数据库下的所有表
MysqL> grant all privileges on *.* to '用户名'@'指定ip' identified by '用户密码' ;
允许访问指定数据库下的所有表
MysqL> grant all privileges on test.* to '用户名'@'指定ip' identified by '用户密码' ;
允许访问指定数据库下的指定表
MysqL> grant all privileges on test.test to '用户名'@'指定ip' identified by '用户密码' ; MysqL> grant all privileges on tornado.* to 'haidon'@'%' identified by '123456';
MysqL> revoke select on tornado.* from "haidon"@"%"; MysqL> revoke all on tornado.* from "haidon"@"%";
MysqL> drop user "haidon"@"%"; -- 删除方法1 MysqL> delete from MysqL.user where user="haidon"; -- 删除方法2
刷新权限
MysqL> flush privileges;