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修改用户白名单_ide

测试远程登录(远程失败)

mysql 开放白名单 mysql修改用户白名单_ide_02

mysql 开放白名单 mysql修改用户白名单_MySQL_03

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

create user yunwei1@'192.168.56.1' identified by '123123';

测试登录(本地失败)

mysql 开放白名单 mysql修改用户白名单_mysql 账号管理_04

测试登录(远程成功)

mysql 开放白名单 mysql修改用户白名单_ide_05

mysql 开放白名单 mysql修改用户白名单_MySQL_06

查看用户

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

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

cd /data/3306/mysql/

strings user.MYD

mysql 开放白名单 mysql修改用户白名单_mysql 账号管理_07

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

select * from mysql.user; # 查看用户的所有信息

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

mysql 开放白名单 mysql修改用户白名单_mysql 账号管理_08

修改用户信息

通常用户修改命令常用于修改用户密码。

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@'%';

标签:系列,登录,用户,192.168,identified,user,MySQL