MySQL系列-用户管理

MySQL系列-用户管理

运维少年 运维少年

系列文章说明

MySQL系列文章包含了软件安装、具体使用、备份恢复等内容,主要用于记录个人的学习笔记,主要使用的MySQL版本为5.7.28,服务器系统版本为CentOS 7.5。本章节为数据库用户管理。

用户

用户的作用是什么?

① 登录MySQL数据库
② 管理MySQL数据库的对象(数据库和表)

如何定义一个用户?

① 一个用户由用户名及白名单组成,常见格式为'用户名'@'白名单'
② 白名单,即用户可以通过什么方式登录到MySQL数据库

创建用户

  • 创建用户格式

create user 用户名@'白名单' identified by '密码';
  • 创建用户命令

create user yunwei@'localhost' identified by '123123';

说明
① MySQL 8.0以前的版本,可以通过grant或者create命令创建用户

② MySQL 8.0以后版本(包含8.0),只能通过create命令创建用户

③ localhost代表该用户只能通过本地登录
  • 登录测试(本地成功)
    MySQL系列-用户管理

  • 测试远程登录(远程失败)
    MySQL系列-用户管理
    MySQL系列-用户管理

  • 创建可以远程登录的用户,只允许该用户通过192.168.56.1登录

 create user yunwei1@'192.168.56.1' identified by '123123';
  • 测试登录(本地失败)
    MySQL系列-用户管理
  • 测试登录(远程成功)
    MySQL系列-用户管理
    MySQL系列-用户管理

查看用户

MySQL数据库的用户信息保存在mysql.user表中,该表存放在数据目录下mysql/user.MYD文件中。

  • 通过user.MYD文件查看mysql用户信息

cd /data/3306/mysql/
strings user.MYD 

MySQL系列-用户管理

  • 通过MySQL数据库查看用户信息

select * from mysql.user; # 查看用户的所有信息
select user,host from mysql.user; # 查看user表的用户名和白名单信息

MySQL系列-用户管理

修改用户信息

通常用户修改命令常用于修改用户密码。
alter user 用户名@'白名单' identified by '新密码';


alter user yunwei1@'192.168.56.1' identified by '123abc';

删除用户

MySQL数据库删除用户不会影响已有的数据,ORACLE删除了用户,用户所拥有的表也会被删除。
drop user 用户@'白名单';

  • 删除用户

drop user yunwei1@'192.168.56.1';

实战

  • 实战一:添加一个可以本地登录的用户,用户名为user1,密码任意

create user user1@'localhost' identified by '123123';
  • 实战二:添加用户user2,允许192.168.56.0/24网段登录

create user user2@'192.168.56.%' identified by '123123';
  • 实战三:添加用户user3,允许192.168.56.100-192.168.65.110登录

create user user3@'192.168.56.10%' identified by '123123';
  • 实战四:添加用户user4,允许任意地址登录

create user user4@'%' identified by '123123';
  • 实战五:查看所有用户的信息

select * from mysql.user;
或
select user,host from mysql.user;
  • 实战六:删除以上用户

drop user user1@'localhost',user2@'192.168.56.%',user3@'192.168.52.10%',user4@'%';

猜你喜欢

转载自blog.51cto.com/15082392/2656411