实际开发中,公司出于安全考虑,不会给我们 root 账号、密码,只有关于本项目的 数据库账号、密码 或者 专门用途的账号、密码

1. 查询当前数据库用户

使用 root 账号、密码登录 mysql

输入:

SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;

 

 

只有 root 一个用户

2. 创建用户:

sql:CREATE USER 'username'@'host' IDENTIFIED BY 'password';

username:用户名

host:指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost,如果想让该用户可以从任意远程主机登陆,可以使用通配符%

password:登录密码

etc:create user 'kevin'@'%' identified by 'Kevin123!';

 

 

 

 

3. 授权:

sql:GRANT privileges ON databasename.tablename TO 'username'@'host'

privileges:用户的操作权限,如SELECTINSERTUPDATE等,如果要授予所的权限则使用ALL

databasename:数据库名

tablename:表名,如果要授予该用户对所有数据库和表的相应操作权限则可用*表示,如*.*

etc:GRANT ALL ON test01.* TO 'kevin' WITH GRANT OPTION;

 

 

 查询 kevin 的权限:

select * from mysql.user where user='kevin';

垂直展示:

select * from mysql.user where user='kevin' \G;

 

 

给 kevin02 授予所有 数据库所有表的所有权限: 

 

 

 对比看出,拥有了所有数据库所有表的所有权限后,权限 为 Y

4.  结果测试:

 

 

 

 

 kevin 只能操作 test01

 

 

 kevin02 可以看到并操作所有数据库

 

参考:

MySQL创建用户与授权:https://www.jianshu.com/p/d7b9c468f20d

posted on 2020-02-12 15:02  文泽9527  阅读(205)  评论(0)    收藏  举报