关于数据库:MySQLMySQL80-创建用户及授权-看这篇就足够了

241次阅读

共计 2284 个字符,预计需要花费 6 分钟才能阅读完成。

什么时候会用到

  • 对接外零碎时,须要给其余零碎凋谢拜访权限
  • 本零碎中,分权限治理数据,避免 root 权限删库跑路😂

mysql 版本

MySql8.0+

具体步骤

1. 命令行进入 MySql

应用 mysql -u#UserName -p#PassWord 命令进入 MySql

#UserName 代表你的 MySql 用户名
#PassWord 代表你的 MySql 明码

🐶本狗的用户名是 root, 明码是 root

mysql -uroot -proot

2. 进入数据库

如果没有创立数据库则先应用命令, 若已存在数据库则跳过此步骤

create database #databaseName;

#databaseName 代表你操作的数据库

🐶本狗要创立的是 b2b 数据库, 切记加上分号;

create database b2b;

use databaseName;

#databaseName 代表你操作的数据库

🐶本狗要操作的是 b2b 数据库, 切记加上分号;

use b2b;

3. 创立用户

create user ‘#userName’@’#host’ identified by ‘#passWord’;

#userName 代表你要创立的此数据库的新用户账号
#host 代表拜访权限,如下

  • % 代表通配所有 host 地址权限 (可近程拜访)
  • localhost 为本地权限 (不可近程拜访)
  • 指定非凡 Ip 拜访权限 如 10.138.106.102

#passWord 代表你要创立的此数据库的新用明码

🐶本狗要创立的用户是 testUser,明码是 Haier…123, 并且可近程拜访
⚠️明码强度须要大小写及数字字母,否则会报明码强度不合乎
⚠️用户名如果反复,会报错 ERROR 1396 (HY000): Operation CREATE USER failed for ‘testUser’@’%’

create user 'testUser'@'%' identified by 'Haier...123';

4. 查看用户

进入 mysql 零碎数据库

use mysql;

查看用户的相干信息

select host, user, authentication_string, plugin from user;

use mysql; 
select host, user, authentication_string, plugin from user;

🐶若展现的信息中有刚退出的用户 testUser,则增加胜利。切记查看完要切换回操作的数据库, 本狗须要操作的是 b2b

use b2b; 

5. 用户受权

grant #auth on #databaseName.#table to ‘#userName’@’#host’;

#auth 代表权限,如下

  • all privileges 全副权限
  • select 查问权限
  • select,insert,update,delete 增删改查权限
  • select,[…] 增 … 等权限

#databaseName 代表数据库名
#table 代表具体表,如下

  • * 代表全副表
  • A,B 代表具体 A,B 表

#userName 代表用户名

#host 代表拜访权限,如下

  • % 代表通配所有 host 地址权限 (可近程拜访)
  • localhost 为本地权限 (不可近程拜访)
  • 指定非凡 Ip 拜访权限 如 10.138.106.102

🐶本狗赋予 b2b 数据库 area_code 表增删改差权限

grant select,insert,update,delete on b2b.area_code to 'testUser'@'%';

6. 刷新

🔥切记肯定要刷新受权才可失效

flush privileges;

7. 查看用户权限

show grants for ‘#userName’@’#host’;

#userName 代表用户名

#host 代表拜访权限,如下

  • % 代表通配所有 host 地址权限 (可近程拜访)
  • localhost 为本地权限 (不可近程拜访)
  • 指定非凡 Ip 拜访权限 如 10.138.106.102

🐶本狗要查看的是 testUser

show grants for 'testUser'@'%';

8. 验证

应用 navicat 等可视化工具验证

9. 撤销权限

revoke #auth on #databaseName.#table from ‘#userName’@’#host’;

#auth 代表权限,如下

  • all privileges 全副权限
  • select 查问权限
  • select,insert,update,delete 增删改查权限
  • select,[…] 增 … 等权限

#databaseName 代表数据库名
#table 代表具体表,如下

  • * 代表全副表
  • A,B 代表具体 A,B 表

#userName 代表用户名

#host 代表拜访权限,如下

  • % 代表通配所有 host 地址权限 (可近程拜访)
  • localhost 为本地权限 (不可近程拜访)
  • 指定非凡 Ip 拜访权限 如 10.138.106.102

🐶本狗要撤销 testUser 用户对 b2b 数据库中的 area_code 表的增删改差权限

revoke select,insert,update,delete on b2b.area_code from 'testUser'@'%';

🐶本狗再查看用户权限

show grants for 'testUser'@'%';

10. 删除用户

drop user ‘#userName’@’#host’;

#userName 代表用户名

#host 代表拜访权限,如下

  • % 代表通配所有 host 地址权限 (可近程拜访)
  • localhost 为本地权限 (不可近程拜访)
  • 指定非凡 Ip 拜访权限 如 10.138.106.102

🐶本狗要删除用户是 testUser

drop user 'testUser'@'%';

我是 JavaDog,谢谢博友急躁看完, 抽空来我狗窝🐕瞅瞅呗 blog.javadog.net

正文完
 0