https://dev.mysql.com/downloads/mysql/
https://dev.mysql.com/doc/refman/8.0/en/binary-installation.html
https://dev.mysql.com/doc/
https://dev.mysql.com/doc/refman/8.4/en/security.html
mysql-VERSION-OS-GLIBCVER-ARCH-minimal.tar.xz 的 MySQL 压缩 tar 文件版本,适用于 Linux 通用二进制分发,是"最小安装"版本。该最小安装版本不包括调试二进制文件,
- ldd --version 系统的GLIBCVER版本

安装前期工作
bash
firewalld 是否运行unknown可能未安装或服务名错误
firewalld 是否开机自启disabled即使存在,也不会自动启动
SELinux 状态Disabled安全策略关闭,适合测试环境
root@elk153:~ # systemctl is-active firewalld
unknown
root@elk153:~ # systemctl is-enabled firewalld
disabled
root@elk153:~ # getenforce
Disabled
https://dev.mysql.com/downloads/file/?id=546090
https://dev.mysql.com/downloads/mysql/
Linux - Generic (glibc 2.28) (x86, 32-bit)适用于 32 位 x86 系统,且系统 glibc ≥ 2.28(如较新的 Debian/Ubuntu)
Linux - Generic (glibc 2.28) (x86, 64-bit)适用于 64 位 x86 系统,glibc ≥ 2.28(主流现代 Linux)✅ 推荐
Linux - Generic (glibc 2.28) (ARM, 64-bit)适用于 ARM64 系统(如树莓派 4B、华为服务器等)
Linux - Generic (glibc 2.17) (x86, 32-bit)适用于旧系统,32 位 + glibc ≥ 2.17(如 CentOS 7 32 位)
Linux - Generic (glibc 2.17) (x86, 64-bit)适用于旧系统,64 位 + glibc ≥ 2.17(如 CentOS 7、RHEL 7)
发行版默认 glibc 版本是否 ≥ 2.28?
Ubuntu 18.042.27❌ 接近但不满足
Ubuntu 20.042.31✅ 是
Ubuntu 22.042.35✅ 是
Debian 10 (Buster)2.28✅ 刚好满足
Debian 11 (Bullseye)2.31✅ 是
CentOS 7 / RHEL 72.17❌ 否
CentOS 8 / RHEL 82.28✅ 刚好满足
AlmaLinux/Rocky Linux 82.28✅ 是
AlmaLinux/Rocky Linux 92.34✅ 是
root@elk153:~ # sz firewalld.txt
OOroot@elk153:~ # getent passwd root
root:x:0:0:root:/root:/bin/bash
root@elk153:~ # getent host
未知的数据库:host
试用"getent --help"或"getent --usage"以获取更多信息。
root@elk153:~ # getent hosts
10.0.0.150 elk150
10.0.0.151 elk151
10.0.0.152 elk152
10.0.0.153 elk153 tomcat.games.com
root@elk153:~ # getkeycodes
root@elk153:~ # yum install -y libaio-devel
已加载插件:fastestmirror
已安装:
libaio-devel.x86_64 0:0.3.109-13.el7
root@elk153:~ # cd /usr/local/
root@elk153:/usr/local # ll
总用量 0
drwxr-xr-x. 2 root root 6 4月 11 2018 bin
drwxr-xr-x. 2 root root 6 4月 11 2018 etc
drwxr-xr-x. 2 root root 6 4月 11 2018 games
drwxr-xr-x. 2 root root 6 4月 11 2018 include
drwxr-xr-x. 2 root root 6 4月 11 2018 lib
drwxr-xr-x. 2 root root 6 4月 11 2018 lib64
drwxr-xr-x. 2 root root 6 4月 11 2018 libexec
drwxr-xr-x. 2 root root 6 4月 11 2018 sbin
drwxr-xr-x. 5 root root 49 12月 17 21:45 share
drwxr-xr-x. 2 root root 6 4月 11 2018 src
## 版本
glibc 提供了程序运行所必需的基础功能,包括:
文件操作:打开、读取、写入文件(fopen, read, write)
进程管理:创建进程、线程(fork, pthread_create)
网络通信:socket 编程(socket, connect)
内存管理:分配内存(malloc, free)
字符串操作:strcpy, strcmp 等
数学计算:sin, cos, sqrt 等
# 查看系统架构
uname -m
ldd --version
# 或
/lib64/libc.so.6
root@elk153:/usr/local # ldd --version
ldd (GNU libc) 2.17
Copyright (C) 2012 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
由 Roland McGrath 和 Ulrich Drepper 编写。
root@elk153:/usr/local # getconf GNU_LIBC_VERSION
glibc 2.17
root@elk153:/usr/local # ll /lib64/libc.so.6
lrwxrwxrwx. 1 root root 12 12月 17 21:45 /lib64/libc.so.6 -> libc-2.17.so
root@elk153:/usr/local # uname -m
x86_64
root@elk153:/usr/local # cat /etc/os-release
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"
CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"
root@elk153:/usr/local # tar xf mysql-8.0.44-linux-glibc2.17-x86_64.tar.xz
root@elk153:/usr/local # ll
总用量 850532
drwxr-xr-x. 2 root root 6 4月 11 2018 bin
drwxr-xr-x. 2 root root 6 4月 11 2018 etc
drwxr-xr-x. 2 root root 6 4月 11 2018 games
drwxr-xr-x. 2 root root 6 4月 11 2018 include
drwxr-xr-x. 2 root root 6 4月 11 2018 lib
drwxr-xr-x. 2 root root 6 4月 11 2018 lib64
drwxr-xr-x. 2 root root 6 4月 11 2018 libexec
drwxr-xr-x 9 root root 129 12月 28 10:47 mysql-8.0.44-linux-glibc2.17-x86_64
-r-------- 1 root root 870940960 12月 28 10:41 mysql-8.0.44-linux-glibc2.17-x86_64.tar.xz
drwxr-xr-x. 2 root root 6 4月 11 2018 sbin
drwxr-xr-x. 5 root root 49 12月 17 21:45 share
drwxr-xr-x. 2 root root 6 4月 11 2018 src
root@elk153:/usr/local # ln -s mysql-8.0.44-linux-glibc2.17-x86_64 mysql
root@elk153:/usr/local # vim /etc/p
pam.d/ pki/ popt.d/ profile
passwd plymouth/ ppp/ profile.d/
passwd- pm/ prelink.conf.d/ protocols
pkcs11/ polkit-1/ printcap python/
root@elk153:/usr/local # vim /etc/profile
profile profile.d/
root@elk153:/usr/local # vim /etc/profile
profile profile.d/
root@elk153:/usr/local # cat /etc/profile
export PATH=$PATH:/usr/musql/bin
root@elk153:/usr/local # res
rescan-scsi-bus.sh resize2fs resizepart
reset resizecons restorecon
root@elk153:/usr/local # source /etc/profile
root@elk153:/usr/local # mysql -V
-bash: mysql: 未找到命令
root@elk153:/usr/local # vim /etc/profile
root@elk153:/usr/local # source /etc/profile
root@elk153:/usr/local # mysql -V
-bash: mysql: 未找到命令
root@elk153:/usr/local # vim /etc/profile
root@elk153:/usr/local # source /etc/profile
root@elk153:/usr/local # mysql -V
mysql Ver 8.0.44 for Linux on x86_64 (MySQL Community Server - GPL)
root@elk153:/usr/local # /data -d
-bash: /data: 没有那个文件或目录
root@elk153:/usr/local # mkdir /data/3306/data
mkdir: 无法创建目录"/data/3306/data": 没有那个文件或目录
root@elk153:/usr/local # mkdir -p /data/3306/data
root@elk153:/usr/local # ll /usr/local/mysql
lrwxrwxrwx 1 root root 35 12月 28 10:48 /usr/local/mysql -> mysql-8.0.44-linux-glibc2.17-x86_64
mysql 用户组
bash
root@elk153:/data/3306/data # useradd mysql -M -s /sbin/nologin
root@elk153:/data/3306/data # mysql id
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
root@elk153:/data/3306/data # id mysql
uid=1001(mysql) gid=1001(mysql) 组=1001(mysql)
root@elk153:/data/3306/data # chown mysql:mysql /data/3306/data/
root@elk153:/data/3306/data # ll /data/3306/
总用量 0
drwxr-xr-x 2 mysql mysql 6 12月 28 10:55 data
root@elk153:/data/3306/data # /usr/local/mysql/bin/mysqld \
> --initialize-insecure \
> --user=mysql \
> --datadir=/data/3306/data \
> --basedir=/usr/local/mysql
root@elk153:/data/3306/data # rm -rf /data/3306/data/*
## 初始化 5.7 / 8.0.44
root@elk153:/data/3306/data # mysqld --initialize-insecure --user=mysql --datadir=/data/3306/data --basedir=/usr/local/mysql
2025-12-28T03:22:01.564856Z 0 [System] [MY-013169] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.44) initializing of server in progress as process 68297
mysqld --initialize --user=mysql --datadir=/data/3306/data --basedir=/usr/local/mysql
MySQL 5.5 / 5.6 版本的初始化命令
使用 mysql_install_db 工具进行初始化:
mysql_install_db --user=mysql --datadir=/data/3306/data --basedir=/usr/local/mysql
root@elk153:/data/3306/data # ll
总用量 82364
-rw-r----- 1 mysql mysql 56 12月 28 11:25 auto.cnf
-
数据库启动失败
↓
检查是否有其他 MySQL 进程(ps, netstat)
↓
检查 SELinux 状态(setenforce 0 测试)
↓
查看错误日志:cat /data/3306/data/master.err
↓
分析报错内容 → 权限?路径?PID?端口?
↓
对症处理(修改权限、删除 PID、修复配置等)
↓
重新启动服务:systemctl start mysql 或 mysqld_safe
启动服务
bash
root@elk153:~ # cat > /etc/my.cnf <<eof
> [mysql]
> socket=/tmp/mysql.sock
> [mysqld]
> user=mysql
> basedir=/usr/local/mysql
> datadir=/data/3306/data
> socket=/tmp/mysql.sock
> eof
# pid-file=/data/3306/data/mysqld.pid
root@elk153:~ # ll /etc/m
machine-id makedumpfile.conf.sample mke2fs.conf modules-load.d/ mtab
magic man_db.conf modprobe.d/ motd my.cnf
root@elk153:~ # ll /etc/m
machine-id makedumpfile.conf.sample mke2fs.conf modules-load.d/ mtab
magic man_db.conf modprobe.d/ motd my.cnf
root@elk153:~ # ll /etc/my.cnf
-rw-r--r-- 1 root root 123 12月 28 13:30 /etc/my.cnf
root@elk153:/etc/init.d # head -5 /usr/local/mysql/support-files/mysql.server
#!/bin/sh
root@elk153:/etc/init.d # cat /usr/local/mysql/support-files/mysql.server
root@elk153:/etc/init.d #
##
Nginx 采用 多进程隔离架构,worker 被杀不影响 master,且会自动恢复。
MySQL 是 单进程多线程模型,没有真正独立的"子进程";强制杀死内部线程会破坏进程状态,导致整个服务退出。
## 启动
root@elk153:/etc/init.d # /etc/init.d/mysqld start
Starting MySQL.Logging to '/usr/local/mysql/data/elk153.err'.
ERROR! The server quit without updating PID file (/usr/local/mysql/data/elk153.pid).
root@elk153:/etc/init.d # /etc/init.d/mysqld status
ERROR! MySQL is not running, but lock file (/var/lock/subsys/mysql) exists
root@elk153:/etc/init.d # /etc/init.d/mysqld start
Starting MySQL.Logging to '/data/3306/data/elk153.err'.
SUCCESS!
root@elk153:/etc/init.d # /etc/init.d/mysqld status
SUCCESS! MySQL running (129660)
root@elk153:/etc/init.d # ps -ef |grep mysql
root 487 78825 0 13:31 pts/0 00:00:00 grep --color=auto mysql
root 129521 1 0 13:31 pts/0 00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/data/3306/data --pid-file=/data/3306/data/elk153.pid
mysql 129660 129521 5 13:31 pts/0 00:00:01 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/data/3306/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=elk153.err --pid-file=/data/3306/data/elk153.pid --socket=/tmp/mysql.sock
root@elk153:/etc/init.d # ss -ntl |grep mysql
root@elk153:/etc/init.d # ss |grep mysql
root@elk153:/etc/init.d # ss -ntl |grep 3306
LISTEN 0 128 :::3306 :::*
LISTEN 0 70 :::33060 :::*
root@elk153:/etc/init.d # mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.44 MySQL Community Server - GPL
Copyright (c) 2000, 2025, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> show databases
-> ;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.00 sec)
mysql> create database games;
Query OK, 1 row affected (0.00 sec)
mysql> use games;
Database changed
mysql> show databases
-> ;
+--------------------+
| Database |
+--------------------+
| games |
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
5 rows in set (0.00 sec)
mysql> show tables
-> ;
Empty set (0.01 sec)
mysqld.service.d
bash
#
使用 systemd 的 drop-in(覆盖)机制 来自定义
MySQL 服务的运行参数,而不修改主服务文件(如 /usr/lib/systemd/system/mysqld.service)
/etc/systemd/system/mysqld.service.d
编写 service 文件(如 /etc/systemd/system/mysqld.service)
[Unit]
Description=MySQL Server 8.0.44
After=network-online.target
Wants=network-online.target
[Service]
Type=notify
User=mysql
Group=mysql
WorkingDirectory=/usr/local/mysql
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
ExecStop=/usr/local/mysql/bin/mysqladmin --defaults-file=/etc/my.cnf shutdown
Restart=on-failure
RestartSec=30
TimeoutSec=300
LimitNOFILE=65535
PrivateTmp=false
# 可选:若需通过 journal 查看日志
# StandardOutput=journal
# StandardError=journal
[Install]
WantedBy=multi-user.target
# PrivateTmp=false 的核心作用
禁用临时目录隔离,让服务直接使用系统全局的 /tmp 和 /var/tmp
root@elk153:/usr/local/mysql # systemctl daemon-reload
root@elk153:/usr/local/mysql # systemctl cat
Display all 303 possibilities? (y or n)^C
root@elk153:/usr/local/mysql # systemctl cat mysqld.service
# /etc/systemd/system/mysqld.service
[Unit]
Description=MySQL Server 8.0.44
After=network-online.target
Wants=network-online.target
[Service]
Type=notify
User=mysql
Group=mysql
WorkingDirectory=/usr/local/mysql
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
ExecStop=/usr/local/mysql/bin/mysqladmin --defaults-file=/etc/my.cnf shutdown
Restart=on-failure
RestartSec=30
TimeoutSec=300
LimitNOFILE=65535
PrivateTmp=false
# 可选:若需通过 journal 查看日志
# StandardOutput=journal
# StandardError=journal
root@elk153:/usr/local/mysql # systemctl start mysql
Failed to start mysql.service: Unit not found.
root@elk153:/usr/local/mysql # systemctl start mysqld.service
root@elk153:/usr/local/mysql # ps -ef |grep mysql
mysql 882 1 7 16:35 ? 00:00:00 /usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
root 1102 81396 0 16:35 pts/1 00:00:00 grep --color=auto mysql
root@elk153:/usr/local/mysql # jo
jobs join journalctl
root@elk153:/usr/local/mysql # journalctl -u mysqld.service
-- Logs begin at 日 2025-12-28 09:16:55 CST, end at 日 2025-12-28 16:35:27 CST. --
12月 28 15:22:00 elk153 systemd[1]: Starting LSB: start and stop MySQL...
12月 28 15:22:01 elk153 mysqld[42838]: Starting MySQL. SUCCESS!
12月 28 15:22:01 elk153 systemd[1]: Started LSB: start and stop MySQL.
root@elk153:~ # systemctl status mysqld.service
● mysqld.service - MySQL Server 8.0.44
Loaded: loaded (/etc/systemd/system/mysqld.service; disabled; vendor preset: disabled)
Active: active (running) since 日 2025-12-28 16:35:19 CST; 52s ago
Main PID: 882 (mysqld)
Status: "Server is operational"
CGroup: /system.slice/mysqld.service
└─882 /usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
12月 28 16:35:19 elk153 systemd[1]: Starting MySQL Server 8.0.44...
12月 28 16:35:19 elk153 mysqld[882]: 2025-12-28T08:35:19.634613Z 0 [System] [MY-010116] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.44) starting as process 882
12月 28 16:35:19 elk153 mysqld[882]: 2025-12-28T08:35:19.641400Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
密码初始化
bash
## 用户表
mysql> select user,host,authentication_string from mysql.user;
+------------------+-----------+------------------------------------------------------------------------+
| user | host | authentication_string |
+------------------+-----------+------------------------------------------------------------------------+
| mysql.infoschema | localhost | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| mysql.session | localhost | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| mysql.sys | localhost | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| root | localhost | |
+------------------+-----------+------------------------------------------------------------------------+
4 rows in set (0.00 sec)
情况1:没有设置密码 → 设置初始密码
方法一:使用 mysqladmin
mysqladmin -uroot password 'oldboy123'
方法二:登录后修改密码。 使用 SQL 命令
mysql -uroot -poldboy123
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
情况2:已有密码 → 修改密码
方法一:使用 mysqladmin
mysqladmin -uroot -poldboy123 password '123456'
方法二:使用 SQL 命令
mysql -uroot -poldboy123
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
情况3:已知密码但忘记密码 → 重置密码(关键!)
步骤一:关闭数据库服务
mysql> shutdown;
或
systemctl stop mysqld
步骤二:安全模式启动 MySQL(跳过权限表)
/usr/local/mysql/bin/mysqld_safe \
--datadir=/data/3306/data \
--skip-grant-tables \
--skip-networking \
&
步骤三:重置密码信息
mysql -u root
进入 MySQL 后执行:
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY '123123';
必须先执行 FLUSH PRIVILEGES;,否则权限表未加载。
步骤四:重新启动数据库服务
systemctl stop mysqld
systemctl start mysqld
或者手动重启:
killall mysqld
/usr/local/mysql/bin/mysqld_safe --datadir=/data/3306/data &
步骤五:测试登录
mysql -u root -p123123
指令
bash
root@elk153:~ # systemctl status mysqld.service
● mysqld.service - MySQL Server 8.0.44
Loaded: loaded (/etc/systemd/system/mysqld.service; disabled; vendor preset: disabled)
Active: active (running) since 日 2025-12-28 16:35:19 CST; 52s ago
Main PID: 882 (mysqld)
Status: "Server is operational"
CGroup: /system.slice/mysqld.service
└─882 /usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
12月 28 16:35:19 elk153 systemd[1]: Starting MySQL Server 8.0.44...
12月 28 16:35:19 elk153 mysqld[882]: 2025-12-28T08:35:19.634613Z 0 [System] [MY-010116] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.44) starting as process 882
12月 28 16:35:19 elk153 mysqld[882]: 2025-12-28T08:35:19.641400Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
12月 28 16:35:19 elk153 mysqld[882]: 2025-12-28T08:35:19.753662Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
12月 28 16:35:19 elk153 mysqld[882]: 2025-12-28T08:35:19.893741Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.
12月 28 16:35:19 elk153 mysqld[882]: 2025-12-28T08:35:19.893799Z 0 [System] [MY-013602] [Server] Channel mysql_main configured to support TLS. Encrypted connection...his channel.
12月 28 16:35:19 elk153 mysqld[882]: 2025-12-28T08:35:19.908276Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Bind-address: '::' port: 33060, so.../mysqlx.sock
12月 28 16:35:19 elk153 systemd[1]: Started MySQL Server 8.0.44.
12月 28 16:35:19 elk153 mysqld[882]: 2025-12-28T08:35:19.908316Z 0 [System] [MY-010931] [Server] /usr/local/mysql/bin/mysqld: ready for connections. Version: '8.0....erver - GPL.
Hint: Some lines were ellipsized, use -l to show in full.
root@elk153:~ # mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.44 MySQL Community Server - GPL
Copyright (c) 2000, 2025, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> show databases
-> ;
+--------------------+
| Database |
+--------------------+
| games |
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
5 rows in set (0.00 sec)
mysql> exit
Bye
root@elk153:~ # systemctl stsop mysqld.service
Unknown operation 'stsop'.
root@elk153:~ # systemctl stop mysqld.service
root@elk153:~ # cd /data/
root@elk153:/data # cd 3306/data/
root@elk153:/data/3306/data # ll
总用量 82392
-rw-r----- 1 mysql mysql 56 12月 28 11:25 auto.cnf
root@elk153:/data/3306/data # ps -ef |grep mysql
root 30106 1670 0 16:47 pts/0 00:00:00 grep --color=auto mysql
root@elk153:/data/3306/data # systemctl start m
machine.slice machines.target microcode.service
root@elk153:/data/3306/data # systemctl start m
machine.slice machines.target microcode.service
root@elk153:/data/3306/data # systemctl start m
machine.slice machines.target microcode.service
root@elk153:/data/3306/data # ll
总用量 94688
-rw-r----- 1 mysql mysql 56 12月 28 11:25 auto.cnf
root@elk153:/data/3306/data # tail -f elk153.
elk153.err elk153.pid
root@elk153:/data/3306/data # tail -f elk153.err
2025-12-28T07:22:22.305837Z 0 [System] [MY-010910] [Server] /usr/local/mysql/bin/mysqld: Shutdown complete (mysqld 8.0.44) MySQL Community Server - GPL.
2025-12-28T07:23:01.052527Z 0 [System] [MY-010116] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.44) starting as process 44462
2025-12-28T07:23:01.057406Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2025-12-28T07:23:01.120218Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2025-12-28T07:23:01.252394Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.
2025-12-28T07:23:01.252461Z 0 [System] [MY-013602] [Server] Channel mysql_main configured to support TLS. Encrypted connections are now supported for this channel.
2025-12-28T07:23:01.266869Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Bind-address: '::' port: 33060, socket: /tmp/mysqlx.sock
2025-12-28T07:23:01.266927Z 0 [System] [MY-010931] [Server] /usr/local/mysql/bin/mysqld: ready for connections. Version: '8.0.44' socket: '/tmp/mysql.sock' port: 3306 MySQL Community Server - GPL.
2025-12-28T07:23:20.956162Z 0 [System] [MY-013172] [Server] Received SHUTDOWN from user <via user signal>. Shutting down mysqld (Version: 8.0.44).
2025-12-28T07:23:21.689014Z 0 [System] [MY-010910] [Server] /usr/local/mysql/bin/mysqld: Shutdown complete (mysqld 8.0.44) MySQL Community Server - GPL.
^C
root@elk153:/data/3306/data # mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.44 MySQL Community Server - GPL
Copyright (c) 2000, 2025, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> select * from mysql.user;
+-----------+------------------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+------------------+----------------+---------------------+--------------------+------------------+------------+--------------+------------------------+----------+------------------------+--------------------------+----------------------------+---------------+-------------+-----------------+----------------------+-----------------------+------------------------------------------------------------------------+------------------+-----------------------+-------------------+----------------+------------------+----------------+------------------------+---------------------+--------------------------+-----------------+
| Host | User | Select_priv | Insert_priv | Update_priv | Delete_priv | Create_priv | Drop_priv | Reload_priv | Shutdown_priv | Process_priv | File_priv | Grant_priv | References_priv | Index_priv | Alter_priv | Show_db_priv | Super_priv | Create_tmp_table_priv | Lock_tables_priv | Execute_priv | Repl_slave_priv | Repl_client_priv | Create_view_priv | Show_view_priv | Create_routine_priv | Alter_routine_priv | Create_user_priv | Event_priv | Trigger_priv | Create_tablespace_priv | ssl_type | ssl_cipher | x509_issuer | x509_subject | max_questions | max_updates | max_connections | max_user_connections | plugin | authentication_string | password_expired | password_last_changed | password_lifetime | account_locked | Create_role_priv | Drop_role_priv | Password_reuse_history | Password_reuse_time | Password_require_current | User_attributes |
+-----------+------------------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+------------------+----------------+---------------------+--------------------+------------------+------------+--------------+------------------------+----------+------------------------+--------------------------+----------------------------+---------------+-------------+-----------------+----------------------+-----------------------+------------------------------------------------------------------------+------------------+-----------------------+-------------------+----------------+------------------+----------------+------------------------+---------------------+--------------------------+-----------------+
| localhost | mysql.infoschema | Y | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | | 0x | 0x | 0x | 0 | 0 | 0 | 0 | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | N | 2025-12-28 11:25:56 | NULL | Y | N | N | NULL | NULL | NULL | NULL |
| localhost | mysql.session | N | N | N | N | N | N | N | Y | N | N | N | N | N | N | N | Y | N | N | N | N | N | N | N | N | N | N | N | N | N | | 0x | 0x | 0x | 0 | 0 | 0 | 0 | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | N | 2025-12-28 11:25:56 | NULL | Y | N | N | NULL | NULL | NULL | NULL |
| localhost | mysql.sys | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | | 0x | 0x | 0x | 0 | 0 | 0 | 0 | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | N | 2025-12-28 11:25:56 | NULL | Y | N | N | NULL | NULL | NULL | NULL |
| localhost | root | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | | 0x | 0x | 0x | 0 | 0 | 0 | 0 | caching_sha2_password | | N | 2025-12-28 11:25:56 | NULL | N | Y | Y | NULL | NULL | NULL | NULL |
+-----------+------------------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+------------------+----------------+---------------------+--------------------+------------------+------------+--------------+------------------------+----------+------------------------+--------------------------+----------------------------+---------------+-------------+-----------------+----------------------+-----------------------+------------------------------------------------------------------------+------------------+-----------------------+-------------------+----------------+------------------+----------------+------------------------+---------------------+--------------------------+-----------------+
4 rows in set (0.00 sec)
mysql> select user,host,authentication_string from mysql.user;
+------------------+-----------+------------------------------------------------------------------------+
| user | host | authentication_string |
+------------------+-----------+------------------------------------------------------------------------+
| mysql.infoschema | localhost | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| mysql.session | localhost | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| mysql.sys | localhost | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| root | localhost | |
+------------------+-----------+------------------------------------------------------------------------+
4 rows in set (0.00 sec)
mysql> shutdown
-> ;
-> ;
ERROR 4031 (HY000): The client was disconnected by the server because of inactivity. See wait_timeout and interactive_timeout for configuring this behavior.
No connection. Trying to reconnect...
Connection id: 9
Current database: *** NONE ***
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ';' at line 2
mysql> shutdown;
-> shutdown;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'shutdown;
shutdown' at line 1
mysql> shutdown;
Query OK, 0 rows affected (0.00 sec)
mysql> exit;
Bye
root@elk153:/data/3306/data # mysql
mysql mysql_config mysqld_multi mysqlimport mysqlshow mysql_upgrade
mysqladmin mysql_config_editor mysqld_safe mysql_migrate_keyring mysqlslap
mysqlbinlog mysqld mysqldump mysqlpump mysql_ssl_rsa_setup
mysqlcheck mysqld-debug mysqldumpslow mysql_secure_installation mysql_tzinfo_to_sql
root@elk153:/data/3306/data # mysql
mysql mysql_config mysqld_multi mysqlimport mysqlshow mysql_upgrade
mysqladmin mysql_config_editor mysqld_safe mysql_migrate_keyring mysqlslap
mysqlbinlog mysqld mysqldump mysqlpump mysql_ssl_rsa_setup
mysqlcheck mysqld-debug mysqldumpslow mysql_secure_installation mysql_tzinfo_to_sql
root@elk153:/data/3306/data # mysqladmin -uroot password 'root'
mysqladmin: connect to server at 'localhost' failed
error: 'Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)'
Check that mysqld is running and that the socket: '/tmp/mysql.sock' exists!
root@elk153:/data/3306/data # ps -ef |grep mysql
root 52197 1670 0 08:38 pts/0 00:00:00 grep --color=auto mysql
root@elk153:/data/3306/data # systemctl start mysqld.service
Display all 147 possibilities? (y or n)
root@elk153:/data/3306/data # systemctl start mysqld.service
root@elk153:/data/3306/data # mysqladmin -uroot password 'root'
mysqladmin: [Warning] Using a password on the command line interface can be insecure.
Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.
root@elk153:/data/3306/data # history
84 rz
85 tar xz mysql-8.0.44-linux-glibc2.17-x86_64.tar.xz
86 ll
87 tar xf mysql-8.0.44-linux-glibc2.17-x86_64.tar.xz
88 ll
89 ln -s mysql-8.0.44-linux-glibc2.17-x86_64 mysql
90 ll
91 vim /etc/profile
92 cat /etc/profile
93 source /etc/profile
94 mysql -V
95 vim /etc/profile
96 source /etc/profile
97 mysql -V
98 vim /etc/profile
99 source /etc/profile
100 mysql -V
101 /data -d
102 mkdir /data/3306/data
103 mkdir -r /data/3306/data
104 mkdir --help
105 mkdir -p /data/3306/data
117 ll /usr/local/mysql/support-files/mysql.server -d
118 file /usr/local/mysql/support-files/mysql.server
119 cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
122 head -10 /usr/local/mysql/support-files/mysql.server
123 head -20 /usr/local/mysql/support-files/mysql.server
124 cat /usr/local/mysql/support-files/mysql.server
125 /etc/init.d/mysqld start
126 /etc/init.d/mysqld status
127 /etc/init.d/mysqld start
128 /etc/init.d/mysqld status
129 ps -ef |grep mysql
130 ss -ntl |grep mysql
132 ss -ntl |grep 3306
133 mysql
135 cat /usr/local/mysql/data/elk153.err
136 cd /usr/local/mysql/data/elk153.err
137 ll /usr/local/mysql/data/elk153.err
# 138 cat > /etc/my.cnf <<eof
# 139 [mysql]
# 140 socket=/tmp/mysql.sock
# 141 [mysqld]
# 142 user=mysql
# 143 basedir=/usr/local/mysql
# 144 datadir=/data/3306/data
# 145 socket=/tmp/mysql.sock
# 146 eof
147 ll /etc/my.cnf
148 set +o history;
149 cd /data/3306/data/
150 ll
151 -d
152 ll -d
153 useradd mysql -M -s /sbin/nologin
154 mysql id
155 id mysql
156 chown mysql:mysql /data/3306/data/
157 ll /data/3306/data/
158 /data/3306/data/ -d
159 ll /data/3306/data/
160 ll /data/3306/
161 mysqld initaliza-insecure --user=mysql --datadir=/data/3306/data basedir=/usr/local/mysql
162 mysqld initaliza-insecure --user=mysql --datadir=/data/3306/data --basedir=/usr/local/mysql
163 mysqld
164 ll /data/3306/data/
165 rm -rf /data/3306/data/*
166 ll /data/3306/data/
167 mysqld initaliza-insecure --user=mysql --datadir=/data/3306/data --basedir=/usr/local/mysql
168 ll /data/3306/
169 /usr/local/mysql/bin/mysqld --version
170 mysqld initalize-insecure --user=mysql --datadir=/data/3306/data --basedir=/usr/local/mysql
171 ll
172 rm -rf /data/3306/data/*
173 mysqld --initalize-insecure --user=mysql --datadir=/data/3306/data --basedir=/usr/local/mysql
174 rm -rf /data/3306/data/*
175 mysqld --initalize-insecure --user=mysql --datadir=/data/3306/data --basedir=/usr/local/mysql
176 rm -rf /data/3306/data/*
177 /usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --datadir=/data/3306/data --basedir=/usr/local/mysql
178 ll
179 rm -rf /data/3306/data/*
180 mysqld --initialize-insecure --user=mysql --datadir=/data/3306/data --basedir=/usr/local/mysql
181 ll
182 cd /etc/init.d/
183 ll
184 file mysqld
185 ll -d mysqld
186 mysqld stop
187 mysqld status
188 export LANG="en_US";export LANGUAGE="en_US";export LC_ALL="en_US";top
189 cd /etc/init.d/
191 ps -ef | grep mysql
195 kill -9 77783
196 ps -ef | grep mysql
197 mysqld status
198 set +o history;
199 history
200 systemctl status mysqld.service
201 mysql
202 systemctl stsop mysqld.service
203 systemctl stop mysqld.service
204 cd /data/
205 cd 3306/data/
206 ll
207 ps -ef |grep mysql
208 ll
209 tail -f elk153.err
210 mysql
211 mysqladmin -uroot password 'root'
212 ps -ef |grep mysql
213 systemctl start mysqld.service
214 mysqladmin -uroot password 'root'
215 history
root@elk153:/data/3306/data #
root@elk153:/data/3306/data # hisory -c
-bash: hisory: 未找到命令
root@elk153:/data/3306/data # hisory -C
-bash: hisory: 未找到命令
root@elk153:/data/3306/data # hisory c
-bash: hisory: 未找到命令
root@elk153:/data/3306/data # history -C
-bash: history: -C: 无效选项
history: 用法:history [-c] [-d 偏移量] [n] 或 history -anrw [文件名] 或 history -ps 参数 [参数...]
root@elk153:/data/3306/data # history -c
root@elk153:/data/3306/data # history
21 history
root@elk153:/data/3306/data # mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 8.0.44 MySQL Community Server - GPL
Copyright (c) 2000, 2025, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> exit
Bye
root@elk153:/data/3306/data # mysql -u root -p
Enter password:
mysql> show processlist;
+----+-----------------+-----------+------+---------+------+------------------------+------------------+
| Id | User | Host | db | Command | Time | State | Info |
+----+-----------------+-----------+------+---------+------+------------------------+------------------+
| 5 | event_scheduler | localhost | NULL | Daemon | 524 | Waiting on empty queue | NULL |
| 12 | root | localhost | NULL | Query | 0 | init | show processlist |
+----+-----------------+-----------+------+---------+------+------------------------+------------------+
2 rows in set, 1 warning (0.00 sec)
mysql> show privileges;
+------------------------------+---------------------------------------+-------------------------------------------------------+
| Privilege | Context | Comment |
+------------------------------+---------------------------------------+-------------------------------------------------------+
| Alter | Tables | To alter the table |
| Alter routine | Functions,Procedures | To alter or drop stored functions/procedures |
| Create | Databases,Tables,Indexes | To create new databases and tables |
| Create routine | Databases | To use CREATE FUNCTION/PROCEDURE |
| Create role | Server Admin | To create new roles |
| Create temporary tables | Databases | To use CREATE TEMPORARY TABLE |
| Create view | Tables | To create new views |
| Create user | Server Admin | To create new users |
| Delete | Tables | To delete existing rows |
| Drop | Databases,Tables | To drop databases, tables, and views |
| Drop role | Server Admin | To drop roles |
| Event | Server Admin | To create, alter, drop and execute events |
| Execute | Functions,Procedures | To execute stored routines |
| File | File access on server | To read and write files on the server |
| Grant option | Databases,Tables,Functions,Procedures | To give to other users those privileges you possess |
| Index | Tables | To create or drop indexes |
| Insert | Tables | To insert data into tables |
| Lock tables | Databases | To use LOCK TABLES (together with SELECT privilege) |
| Process | Server Admin | To view the plain text of currently executing queries |
| Proxy | Server Admin | To make proxy user possible |
| References | Databases,Tables | To have references on tables |
| Reload | Server Admin | To reload or refresh tables, logs and privileges |
| Replication client | Server Admin | To ask where the slave or master servers are |
| Replication slave | Server Admin | To read binary log events from the master |
| Select | Tables | To retrieve rows from table |
| Show databases | Server Admin | To see all databases with SHOW DATABASES |
| Show view | Tables | To see views with SHOW CREATE VIEW |
| Shutdown | Server Admin | To shut down the server |
| Super | Server Admin | To use KILL thread, SET GLOBAL, CHANGE MASTER, etc. |
| Trigger | Tables | To use triggers |
| Create tablespace | Server Admin | To create/alter/drop tablespaces |
| Update | Tables | To update existing rows |
| Usage | Server Admin | No privileges - allow connect only |
| XA_RECOVER_ADMIN | Server Admin | |
| TELEMETRY_LOG_ADMIN | Server Admin | |
| SHOW_ROUTINE | Server Admin | |
| SET_USER_ID | Server Admin | |
| SENSITIVE_VARIABLES_OBSERVER | Server Admin | |
| RESOURCE_GROUP_USER | Server Admin | |
| PASSWORDLESS_USER_ADMIN | Server Admin | |
| INNODB_REDO_LOG_ENABLE | Server Admin | |
| CONNECTION_ADMIN | Server Admin | |
| AUTHENTICATION_POLICY_ADMIN | Server Admin | |
| AUDIT_ABORT_EXEMPT | Server Admin | |
| REPLICATION_APPLIER | Server Admin | |
| INNODB_REDO_LOG_ARCHIVE | Server Admin | |
| SERVICE_CONNECTION_ADMIN | Server Admin | |
| CLONE_ADMIN | Server Admin | |
| PERSIST_RO_VARIABLES_ADMIN | Server Admin | |
| FLUSH_USER_RESOURCES | Server Admin | |
| RESOURCE_GROUP_ADMIN | Server Admin | |
| REPLICATION_SLAVE_ADMIN | Server Admin | |
| BACKUP_ADMIN | Server Admin | |
| GROUP_REPLICATION_ADMIN | Server Admin | |
| FIREWALL_EXEMPT | Server Admin | |
| SYSTEM_VARIABLES_ADMIN | Server Admin | |
| AUDIT_ADMIN | Server Admin | |
| APPLICATION_PASSWORD_ADMIN | Server Admin | |
| SYSTEM_USER | Server Admin | |
| ENCRYPTION_KEY_ADMIN | Server Admin | |
| FLUSH_STATUS | Server Admin | |
| GROUP_REPLICATION_STREAM | Server Admin | |
| BINLOG_ADMIN | Server Admin | |
| ROLE_ADMIN | Server Admin | |
| SESSION_VARIABLES_ADMIN | Server Admin | |
| BINLOG_ENCRYPTION_ADMIN | Server Admin | |
| FLUSH_OPTIMIZER_COSTS | Server Admin | |
| TABLE_ENCRYPTION_ADMIN | Server Admin | |
| FLUSH_TABLES | Server Admin | |
+------------------------------+---------------------------------------+-------------------------------------------------------+
69 rows in set (0.00 sec)
mysql> ? grant;
Name: 'GRANT'
Description:
Syntax:
GRANT
priv_type [(column_list)]
[, priv_type [(column_list)]] ...
ON [object_type] priv_level
TO user_or_role [, user_or_role] ...
[WITH GRANT OPTION]
[AS user
[WITH ROLE
DEFAULT
| NONE
| ALL
| ALL EXCEPT role [, role ] ...
| role [, role ] ...
]
]
}
root@elk153:/usr/local/mysql # sz m
man/ mysql.txt
root@elk153:/usr/local/mysql # sz mysql.txt
OOroot@elk153:/usr/local/mysql # mysql
mysql mysql_config mysqld_multi mysqlimport mysqlshow mysql_upgrade
mysqladmin mysql_config_editor mysqld_safe mysql_migrate_keyring mysqlslap
mysqlbinlog mysqld mysqldump mysqlpump mysql_ssl_rsa_setup
mysqlcheck mysqld-debug mysqldumpslow mysql_secure_installation mysql_tzinfo_to_sql
root@elk153:/usr/local/mysql # mysql -V
mysql Ver 8.0.44 for Linux on x86_64 (MySQL Community Server - GPL)
root@elk153:/usr/local/mysql # ls -Z | grep mysql
-rw-r--r-- root root ? mysql.txt
root@elk153:/usr/local/mysql # cd ..
root@elk153:/usr/local # ls -Z | grep mysql
lrwxrwxrwx root root ? mysql -> mysql-8.0.44-linux-glibc2.17-x86_64
drwxr-xr-x root root ? mysql-8.0.44-linux-glibc2.17-x86_64
-r-------- root root ? mysql-8.0.44-linux-glibc2.17-x86_64.tar.xz
root@elk153:/usr/local # mysqld --initialize --user=mysql --datadir=/data/3306/data --basedir=/usr/local/mysql
2025-12-29T07:55:15.195988Z 0 [System] [MY-013169] [Server] /usr/local/mysql-8.0.44-linux-glibc2.17-x86_64/bin/mysqld (mysqld 8.0.44) initializing of server in progress as process 37933
2025-12-29T07:55:15.197126Z 0 [ERROR] [MY-010457] [Server] --initialize specified but the data directory has files in it. Aborting.
2025-12-29T07:55:15.197133Z 0 [ERROR] [MY-013236] [Server] The designated data directory /data/3306/data/ is unusable. You can remove all files that the server added to it.
2025-12-29T07:55:15.197167Z 0 [ERROR] [MY-010119] [Server] Aborting
2025-12-29T07:55:15.197345Z 0 [System] [MY-010910] [Server] /usr/local/mysql-8.0.44-linux-glibc2.17-x86_64/bin/mysqld: Shutdown complete (mysqld 8.0.44) MySQL Community Server - GPL.
root@elk153:/usr/local #
连接断开
连接主机...
连接主机成功
Last login: Sun Dec 28 16:35:56 2025 from 10.0.0.1
root@elk153:~ #
root@elk153:~ # ps -ef | grep mysql
root 13819 123205 0 17:08 pts/4 00:00:00 grep --color=auto mysql
mysql 52889 1 0 08:56 ? 00:02:50 /usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
root@elk153:~ # systemctl status c
chronyd.service console-getty.service cpupower.service cryptsetup-pre.target ctrl-alt-del.target
chrony-wait.service console-shell.service crond.service cryptsetup.target
root@elk153:~ # systemctl status mysqld.service
● mysqld.service - MySQL Server 8.0.44
Loaded: loaded (/etc/systemd/system/mysqld.service; disabled; vendor preset: disabled)
Active: active (running) since 一 2025-12-29 08:38:56 CST; 8h ago
Main PID: 52889 (mysqld)
Status: "Server is operational"
CGroup: /system.slice/mysqld.service
└─52889 /usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
12月 29 08:38:56 elk153 systemd[1]: Starting MySQL Server 8.0.44...
12月 29 08:38:56 elk153 mysqld[52889]: 2025-12-29T00:38:56.501056Z 0 [System] [MY-010116] [Server] /usr/local/m...52889
12月 29 08:38:56 elk153 mysqld[52889]: 2025-12-29T00:38:56.506399Z 1 [System] [MY-013576] [InnoDB] InnoDB initi...rted.
12月 29 08:38:56 elk153 mysqld[52889]: 2025-12-29T00:38:56.589374Z 1 [System] [MY-013577] [InnoDB] InnoDB initi...nded.
12月 29 08:38:56 elk153 mysqld[52889]: 2025-12-29T00:38:56.724161Z 0 [Warning] [MY-010068] [Server] CA certific...gned.
12月 29 08:38:56 elk153 mysqld[52889]: 2025-12-29T00:38:56.724205Z 0 [System] [MY-013602] [Server] Channel mysq...nnel.
12月 29 08:38:56 elk153 mysqld[52889]: 2025-12-29T00:38:56.738988Z 0 [System] [MY-011323] [Server] X Plugin rea....sock
12月 29 08:38:56 elk153 systemd[1]: Started MySQL Server 8.0.44.
12月 29 08:38:56 elk153 mysqld[52889]: 2025-12-29T00:38:56.738997Z 0 [System] [MY-010931] [Server] /usr/local/m... GPL.
Hint: Some lines were ellipsized, use -l to show in full.
root@elk153:~ # systemctl stop mysqld.service
root@elk153:~ # mysql
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
root@elk153:~ # mysql
mysql mysqld mysqlimport mysql_ssl_rsa_setup
mysqladmin mysqld-debug mysql_migrate_keyring mysql_tzinfo_to_sql
mysqlbinlog mysqld_multi mysqlpump mysql_upgrade
mysqlcheck mysqld_safe mysql_secure_installation
mysql_config mysqldump mysqlshow
mysql_config_editor mysqldumpslow mysqlslap
root@elk153:~ # mysql -u root -p
Enter password:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
root@elk153:~ # systemctl start mysqld.service
^[[Aroot@elk153:mysql -u root -pvice
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
root@elk153:~ # mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 8.0.44 MySQL Community Server - GPL
Copyright (c) 2000, 2025, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> shutdown
-> ;
Query OK, 0 rows affected (0.00 sec)
mysql> exit;
Bye
root@elk153:~ # ps -ef | grep mysql
root 16376 123205 0 17:10 pts/4 00:00:00 grep --color=auto mysql
root@elk153:~ # /usr/local/mysql/bin/mysqld_safe \
> --datadir=/data/3306/data \
> --skip-grant-tables \
> --skip-networking \
> &
[1] 17207
root@elk153:~ # 2025-12-29T09:10:45.559208Z mysqld_safe Logging to '/data/3306/data/elk153.err'.
2025-12-29T09:10:45.578034Z mysqld_safe Starting mysqld daemon with databases from /data/3306/data
root@elk153:~ # mysql -u root
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 7
Server version: 8.0.44 MySQL Community Server - GPL
Copyright (c) 2000, 2025, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
mysql> ^C
mysql> alter user 'root'@'localhost' identified by '123456';
Query OK, 0 rows affected (0.00 sec)
mysql> exit
Bye
root@elk153:~ # mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.44 MySQL Community Server - GPL
Copyright (c) 2000, 2025, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> exit;
Bye
root@elk153:~ # ps -ef | grep mysql
root 17207 123205 0 17:10 pts/4 00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/data/3306/data --skip-grant-tables --skip-networking
mysql 17366 17207 0 17:10 pts/4 00:00:02 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/data/3306/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --skip-grant-tables --skip-networking --log-error=elk153.err --pid-file=elk153.pid --socket=/tmp/mysql.sock
root 23676 123205 0 17:15 pts/4 00:00:00 grep --color=auto mysql
root@elk153:~ # ps -ef | grep mysql\
>
root 17207 123205 0 17:10 pts/4 00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/data/3306/data --skip-grant-tables --skip-networking
mysql 17366 17207 0 17:10 pts/4 00:00:08 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/data/3306/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --skip-grant-tables --skip-networking --log-error=elk153.err --pid-file=elk153.pid --socket=/tmp/mysql.sock
root 46485 123205 0 17:34 pts/4 00:00:00 grep --color=auto mysql
root@elk153:~ #
root@elk153:~ # mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 13
Server version: 8.0.44 MySQL Community Server - GPL
Copyright (c) 2000, 2025, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| games |
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
5 rows in set (0.01 sec)
mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> show tables;
+------------------------------------------------------+
| Tables_in_mysql |
+------------------------------------------------------+
| columns_priv |
| component |
| db |
| default_roles |
| engine_cost |
| func |
| general_log |
| global_grants |
| gtid_executed |
| help_category |
| help_keyword |
| help_relation |
| help_topic |
| innodb_index_stats |
| innodb_table_stats |
| ndb_binlog_index |
| password_history |
| plugin |
| procs_priv |
| proxies_priv |
| replication_asynchronous_connection_failover |
| replication_asynchronous_connection_failover_managed |
| replication_group_configuration_version |
| replication_group_member_actions |
| role_edges |
| server_cost |
| servers |
| slave_master_info |
| slave_relay_log_info |
| slave_worker_info |
| slow_log |
| tables_priv |
| time_zone |
| time_zone_leap_second |
| time_zone_name |
| time_zone_transition |
| time_zone_transition_type |
| user |
+------------------------------------------------------+
38 rows in set (0.00 sec)
mysql> shutdown;
Query OK, 0 rows affected (0.00 sec)
mysql> 2025-12-29T09:40:34.790983Z mysqld_safe mysqld from pid file /data/3306/data/elk153.pid ended
mysql> exit;
Bye
[1]+ 完成 /usr/local/mysql/bin/mysqld_safe --datadir=/data/3306/data --skip-grant-tables --skip-networking
root@elk153:~ # systemctl start mysqld.service
root@elk153:~ # mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 8.0.44 MySQL Community Server - GPL
Copyright (c) 2000, 2025, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> select user, host from mysql.user;
+------------------+-----------+
| user | host |
+------------------+-----------+
| mysql.infoschema | localhost |
| mysql.session | localhost |
| mysql.sys | localhost |
| root | localhost |
+------------------+-----------+
4 rows in set (0.00 sec)
mysql> select user();
+----------------+
| user() |
+----------------+
| root@localhost |
+----------------+
1 row in set (0.00 sec)
mysql> show processlist;
+----+-----------------+----------------+------+---------+-------+------------------------+------------------+
| Id | User | Host | db | Command | Time | State | Info |
+----+-----------------+----------------+------+---------+-------+------------------------+------------------+
| 5 | event_scheduler | localhost | NULL | Daemon | 13446 | Waiting on empty queue | NULL |
| 9 | root | localhost | NULL | Query | 0 | init | show processlist |
| 13 | test02 | 10.0.0.1:65133 | NULL | Sleep | 736 | | NULL |
+----+-----------------+----------------+------+---------+-------+------------------------+------------------+
3 rows in set, 1 warning (0.00 sec)
mysql> select user, host from mysql.user;
+------------------+-----------+
| user | host |
+------------------+-----------+
| test02 | 10.0.0.% |
| mysql.infoschema | localhost |
| mysql.session | localhost |
| mysql.sys | localhost |
| root | localhost |
+------------------+-----------+
5 rows in set (0.00 sec)
mysql> CREATE USER 'test01'@'10.0.0.%' IDENTIFIED BY '123456';
Query OK, 0 rows affected (0.00 sec)
mysql> CREATE USER 'test03'@'10.0.0.%' IDENTIFIED BY '123456';
Query OK, 0 rows affected (0.01 sec)
mysql> select user, host from mysql.user;
+------------------+-----------+
| user | host |
+------------------+-----------+
| test01 | 10.0.0.% |
| test02 | 10.0.0.% |
| test03 | 10.0.0.% |
| mysql.infoschema | localhost |
| mysql.session | localhost |
| mysql.sys | localhost |
| root | localhost |
+------------------+-----------+
7 rows in set (0.00 sec)
mysql> delete from mysql.user where user='test02' or user='test03';
Query OK, 2 rows affected (0.01 sec)
mysql> select user, host from mysql.user;
+------------------+-----------+
| user | host |
+------------------+-----------+
| test01 | 10.0.0.% |
| mysql.infoschema | localhost |
| mysql.session | localhost |
| mysql.sys | localhost |
| root | localhost |
+------------------+-----------+
5 rows in set (0.00 sec)
mysql>
mysql>
mysql> select user,host,plugin from mysql.user;
+------------------+-----------+-----------------------+
| user | host | plugin |
+------------------+-----------+-----------------------+
| test01 | 10.0.0.% | caching_sha2_password |
| mysql.infoschema | localhost | caching_sha2_password |
| mysql.session | localhost | caching_sha2_password |
| mysql.sys | localhost | caching_sha2_password |
| root | localhost | caching_sha2_password |
+------------------+-----------+-----------------------+
5 rows in set (0.00 sec)
mysql> select user,host,plugin,authentication_string from mysql.user;
+------------------+-----------+-----------------------+------------------------------------------------------------------------+
| user | host | plugin | authentication_string |
+------------------+-----------+-----------------------+------------------------------------------------------------------------+
| test01 | 10.0.0.% | caching_sha2_password | $A$005$j%9
@}/ 8j=Jd}",Dx9QwczuaoTc5UAeJ6W2B.x4rnHRx4O8rNLboR8Tx07 |
| mysql.infoschema | localhost | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| mysql.session | localhost | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| mysql.sys | localhost | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| root | localhost | caching_sha2_password | $A$005$*U&C]WLs|bTl^m
MQOT71vzrEuJcdyVqIMKf6XVLLMw1Hu3bbEh66n6yhG8 |
+------------------+-----------+-----------------------+------------------------------------------------------------------------+
5 rows in set (0.00 sec)
mysql> CREATE USER 'test03'@'10.0.0.%' IDENTIFIED BY '123456';
ERROR 1396 (HY000): Operation CREATE USER failed for 'test03'@'10.0.0.%'
mysql>
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
mysql> select user,host,plugin,authentication_string from mysql.user;
+------------------+-----------+-----------------------+------------------------------------------------------------------------+
| user | host | plugin | authentication_string |
+------------------+-----------+-----------------------+------------------------------------------------------------------------+
| test01 | 10.0.0.% | caching_sha2_password | $A$005$j%9
@}/ 8j=Jd}",Dx9QwczuaoTc5UAeJ6W2B.x4rnHRx4O8rNLboR8Tx07 |
| mysql.infoschema | localhost | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| mysql.session | localhost | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| mysql.sys | localhost | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| root | localhost | caching_sha2_password | $A$005$*U&C]WLs|bTl^m
MQOT71vzrEuJcdyVqIMKf6XVLLMw1Hu3bbEh66n6yhG8 |
+------------------+-----------+-----------------------+------------------------------------------------------------------------+
5 rows in set (0.00 sec)
mysql> CREATE USER 'test03'@'10.0.0.%' IDENTIFIED BY '123456';
Query OK, 0 rows affected (0.01 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
mysql> CREATE USER 'test03'@'10.0.0.%' IDENTIFIED BY '123456';
ERROR 1396 (HY000): Operation CREATE USER failed for 'test03'@'10.0.0.%'
mysql> create user 'test02'@'10.0.0.%' identified with mysql_native_password by '123456aa';
Query OK, 0 rows affected (0.00 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
mysql> select user,host,plugin,authentication_string from mysql.user;
+------------------+-----------+-----------------------+------------------------------------------------------------------------+
| user | host | plugin | authentication_string |
+------------------+-----------+-----------------------+------------------------------------------------------------------------+
| test01 | 10.0.0.% | caching_sha2_password | $A$005$j%9
@}/ 8j=Jd}",Dx9QwczuaoTc5UAeJ6W2B.x4rnHRx4O8rNLboR8Tx07 |
| test02 | 10.0.0.% | mysql_native_password | *87609CDD5E019014203F348B79B8DD25596B65D5 |
| test03 | 10.0.0.% | caching_sha2_password | $A$005$3-we}myT"PK+#]v&xMomLhw/.iyQckTx9ZQjPGnEIXvIYV29xsyegc.F6/A |
| mysql.infoschema | localhost | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| mysql.session | localhost | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| mysql.sys | localhost | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| root | localhost | caching_sha2_password | $A$005$*U&C]WLs|bTl^m
MQOT71vzrEuJcdyVqIMKf6XVLLMw1Hu3bbEh66n6yhG8 |
+------------------+-----------+-----------------------+------------------------------------------------------------------------+
7 rows in set (0.00 sec)
mysql> drop user test02@'10.0.0.%';
Query OK, 0 rows affected (0.00 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
mysql> select user,host,plugin,authentication_string from mysql.user;
+------------------+-----------+-----------------------+------------------------------------------------------------------------+
| user | host | plugin | authentication_string |
+------------------+-----------+-----------------------+------------------------------------------------------------------------+
| test01 | 10.0.0.% | caching_sha2_password | $A$005$j%9
@}/ 8j=Jd}",Dx9QwczuaoTc5UAeJ6W2B.x4rnHRx4O8rNLboR8Tx07 |
| test03 | 10.0.0.% | caching_sha2_password | $A$005$3-we}myT"PK+#]v&xMomLhw/.iyQckTx9ZQjPGnEIXvIYV29xsyegc.F6/A |
| mysql.infoschema | localhost | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| mysql.session | localhost | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| mysql.sys | localhost | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| root | localhost | caching_sha2_password | $A$005$*U&C]WLs|bTl^m
MQOT71vzrEuJcdyVqIMKf6XVLLMw1Hu3bbEh66n6yhG8 |
+------------------+-----------+-----------------------+------------------------------------------------------------------------+
6 rows in set (0.00 sec)
mysql> show grants for root@'localhost';
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Grants for root@localhost |
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER, CREATE TABLESPACE, CREATE ROLE, DROP ROLE ON *.* TO `root`@`localhost` WITH GRANT OPTION |
| GRANT APPLICATION_PASSWORD_ADMIN,AUDIT_ABORT_EXEMPT,AUDIT_ADMIN,AUTHENTICATION_POLICY_ADMIN,BACKUP_ADMIN,BINLOG_ADMIN,BINLOG_ENCRYPTION_ADMIN,CLONE_ADMIN,CONNECTION_ADMIN,ENCRYPTION_KEY_ADMIN,FIREWALL_EXEMPT,FLUSH_OPTIMIZER_COSTS,FLUSH_STATUS,FLUSH_TABLES,FLUSH_USER_RESOURCES,GROUP_REPLICATION_ADMIN,GROUP_REPLICATION_STREAM,INNODB_REDO_LOG_ARCHIVE,INNODB_REDO_LOG_ENABLE,PASSWORDLESS_USER_ADMIN,PERSIST_RO_VARIABLES_ADMIN,REPLICATION_APPLIER,REPLICATION_SLAVE_ADMIN,RESOURCE_GROUP_ADMIN,RESOURCE_GROUP_USER,ROLE_ADMIN,SENSITIVE_VARIABLES_OBSERVER,SERVICE_CONNECTION_ADMIN,SESSION_VARIABLES_ADMIN,SET_USER_ID,SHOW_ROUTINE,SYSTEM_USER,SYSTEM_VARIABLES_ADMIN,TABLE_ENCRYPTION_ADMIN,TELEMETRY_LOG_ADMIN,XA_RECOVER_ADMIN ON *.* TO `root`@`localhost` WITH GRANT OPTION |
| GRANT PROXY ON ``@`` TO `root`@`localhost` WITH GRANT OPTION |
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
3 rows in set (0.00 sec)
mysql> show privileges;
+------------------------------+---------------------------------------+-------------------------------------------------------+
| Privilege | Context | Comment |
+------------------------------+---------------------------------------+-------------------------------------------------------+
| Alter | Tables | To alter the table |
mysql> alter user test01@'10.0.0.153' account lock;
ERROR 1396 (HY000): Operation ALTER USER failed for 'test01'@'10.0.0.153'
mysql> select user,host,plugin,authentication_string from mysql.user;
+------------------+-----------+-----------------------+------------------------------------------------------------------------+
| user | host | plugin | authentication_string |
+------------------+-----------+-----------------------+------------------------------------------------------------------------+
| test01 | 10.0.0.% | caching_sha2_password | $A$005$j%9
@}/ 8j=Jd}",Dx9QwczuaoTc5UAeJ6W2B.x4rnHRx4O8rNLboR8Tx07 |
| test03 | 10.0.0.% | caching_sha2_password | $A$005$3-we}myT"PK+#]v&xMomLhw/.iyQckTx9ZQjPGnEIXvIYV29xsyegc.F6/A |
| mysql.infoschema | localhost | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| mysql.session | localhost | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| mysql.sys | localhost | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| root | localhost | caching_sha2_password | $A$005$*U&C]WLs|bTl^m
MQOT71vzrEuJcdyVqIMKf6XVLLMw1Hu3bbEh66n6yhG8 |
+------------------+-----------+-----------------------+------------------------------------------------------------------------+
6 rows in set (0.00 sec)
mysql> alter user test01@'10.0.0.%' account lock;
Query OK, 0 rows affected (0.00 sec)
mysql> select user,host,account_locked,plugin,authentication_string from mysql.user;
+------------------+-----------+----------------+-----------------------+------------------------------------------------------------------------+
| user | host | account_locked | plugin | authentication_string |
+------------------+-----------+----------------+-----------------------+------------------------------------------------------------------------+
| test01 | 10.0.0.% | Y | caching_sha2_password | $A$005$j%9
@}/ 8j=Jd}",Dx9QwczuaoTc5UAeJ6W2B.x4rnHRx4O8rNLboR8Tx07 |
| test03 | 10.0.0.% | N | caching_sha2_password | $A$005$3-we}myT"PK+#]v&xMomLhw/.iyQckTx9ZQjPGnEIXvIYV29xsyegc.F6/A |
| mysql.infoschema | localhost | Y | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| mysql.session | localhost | Y | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| mysql.sys | localhost | Y | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| root | localhost | N | caching_sha2_password | $A$005$*U&C]WLs|bTl^m
MQOT71vzrEuJcdyVqIMKf6XVLLMw1Hu3bbEh66n6yhG8 |
+------------------+-----------+----------------+-----------------------+------------------------------------------------------------------------+
6 rows in set (0.00 sec)
mysql> SHOW PLUGINS;
+----------------------------------+----------+--------------------+---------+---------+
| Name | Status | Type | Library | License |
+----------------------------------+----------+--------------------+---------+---------+
| binlog | ACTIVE | STORAGE ENGINE | NULL | GPL |
| mysql_native_password | ACTIVE | AUTHENTICATION | NULL | GPL |
| sha256_password | ACTIVE | AUTHENTICATION | NULL | GPL |
| caching_sha2_password | ACTIVE | AUTHENTICATION | NULL | GPL |
| sha2_cache_cleaner | ACTIVE | AUDIT | NULL | GPL |
| daemon_keyring_proxy_plugin | ACTIVE | DAEMON | NULL | GPL |
| CSV | ACTIVE | STORAGE ENGINE | NULL | GPL |
| MEMORY | ACTIVE | STORAGE ENGINE | NULL | GPL |
| InnoDB | ACTIVE | STORAGE ENGINE | NULL | GPL |
| INNODB_TRX | ACTIVE | INFORMATION SCHEMA | NULL | GPL |
| INNODB_CMP | ACTIVE | INFORMATION SCHEMA | NULL | GPL |
| INNODB_CMP_RESET | ACTIVE | INFORMATION SCHEMA | NULL | GPL |
| INNODB_CMPMEM | ACTIVE | INFORMATION SCHEMA | NULL | GPL |
| INNODB_CMPMEM_RESET | ACTIVE | INFORMATION SCHEMA | NULL | GPL |
| INNODB_CMP_PER_INDEX | ACTIVE | INFORMATION SCHEMA | NULL | GPL |
| INNODB_CMP_PER_INDEX_RESET | ACTIVE | INFORMATION SCHEMA | NULL | GPL |
| INNODB_BUFFER_PAGE | ACTIVE | INFORMATION SCHEMA | NULL | GPL |
| INNODB_BUFFER_PAGE_LRU | ACTIVE | INFORMATION SCHEMA | NULL | GPL |
| INNODB_BUFFER_POOL_STATS | ACTIVE | INFORMATION SCHEMA | NULL | GPL |
| INNODB_TEMP_TABLE_INFO | ACTIVE | INFORMATION SCHEMA | NULL | GPL |
| INNODB_METRICS | ACTIVE | INFORMATION SCHEMA | NULL | GPL |
| INNODB_FT_DEFAULT_STOPWORD | ACTIVE | INFORMATION SCHEMA | NULL | GPL |
| INNODB_FT_DELETED | ACTIVE | INFORMATION SCHEMA | NULL | GPL |
| INNODB_FT_BEING_DELETED | ACTIVE | INFORMATION SCHEMA | NULL | GPL |
| INNODB_FT_CONFIG | ACTIVE | INFORMATION SCHEMA | NULL | GPL |
| INNODB_FT_INDEX_CACHE | ACTIVE | INFORMATION SCHEMA | NULL | GPL |
| INNODB_FT_INDEX_TABLE | ACTIVE | INFORMATION SCHEMA | NULL | GPL |
| INNODB_TABLES | ACTIVE | INFORMATION SCHEMA | NULL | GPL |
| INNODB_TABLESTATS | ACTIVE | INFORMATION SCHEMA | NULL | GPL |
| INNODB_INDEXES | ACTIVE | INFORMATION SCHEMA | NULL | GPL |
| INNODB_TABLESPACES | ACTIVE | INFORMATION SCHEMA | NULL | GPL |
| INNODB_COLUMNS | ACTIVE | INFORMATION SCHEMA | NULL | GPL |
| INNODB_VIRTUAL | ACTIVE | INFORMATION SCHEMA | NULL | GPL |
| INNODB_CACHED_INDEXES | ACTIVE | INFORMATION SCHEMA | NULL | GPL |
| INNODB_SESSION_TEMP_TABLESPACES | ACTIVE | INFORMATION SCHEMA | NULL | GPL |
| MyISAM | ACTIVE | STORAGE ENGINE | NULL | GPL |
| MRG_MYISAM | ACTIVE | STORAGE ENGINE | NULL | GPL |
| PERFORMANCE_SCHEMA | ACTIVE | STORAGE ENGINE | NULL | GPL |
| TempTable | ACTIVE | STORAGE ENGINE | NULL | GPL |
| ARCHIVE | ACTIVE | STORAGE ENGINE | NULL | GPL |
| BLACKHOLE | ACTIVE | STORAGE ENGINE | NULL | GPL |
| FEDERATED | DISABLED | STORAGE ENGINE | NULL | GPL |
| ndbcluster | DISABLED | STORAGE ENGINE | NULL | GPL |
| ndbinfo | DISABLED | STORAGE ENGINE | NULL | GPL |
| ndb_transid_mysql_connection_map | DISABLED | INFORMATION SCHEMA | NULL | GPL |
| ngram | ACTIVE | FTPARSER | NULL | GPL |
| mysqlx_cache_cleaner | ACTIVE | AUDIT | NULL | GPL |
| mysqlx | ACTIVE | DAEMON | NULL | GPL |
+----------------------------------+----------+--------------------+---------+---------+
48 rows in set (0.00 sec)
mysql> SELECT * FROM information_schema.plugins WHERE plugin_type = 'AUTHENTICATION';
+-----------------------+----------------+---------------+----------------+---------------------+----------------+------------------------+--------------------+--------------------------------+----------------+-------------+
| PLUGIN_NAME | PLUGIN_VERSION | PLUGIN_STATUS | PLUGIN_TYPE | PLUGIN_TYPE_VERSION | PLUGIN_LIBRARY | PLUGIN_LIBRARY_VERSION | PLUGIN_AUTHOR | PLUGIN_DESCRIPTION | PLUGIN_LICENSE | LOAD_OPTION |
+-----------------------+----------------+---------------+----------------+---------------------+----------------+------------------------+--------------------+--------------------------------+----------------+-------------+
| mysql_native_password | 1.1 | ACTIVE | AUTHENTICATION | 2.1 | NULL | NULL | Oracle Corporation | Native MySQL authentication | GPL | FORCE |
| sha256_password | 1.1 | ACTIVE | AUTHENTICATION | 2.1 | NULL | NULL | Oracle Corporation | SHA256 password authentication | GPL | FORCE |
| caching_sha2_password | 1.0 | ACTIVE | AUTHENTICATION | 2.1 | NULL | NULL | Oracle Corporation | Caching sha2 authentication | GPL | FORCE |
+-----------------------+----------------+---------------+----------------+---------------------+----------------+------------------------+--------------------+--------------------------------+----------------+-------------+
3 rows in set (0.01 sec)
mysql>
连接断开
root@elk153:~ # mysql -u root -p
mysql> CREATE USER 'dba01'@'%' IDENTIFIED BY '12345';
Query OK, 0 rows affected (0.01 sec)
mysql> GRANT SELECT, INSERT, UPDATE, DELETE ON blog_db.* TO 'dba01'@'%';
Query OK, 0 rows affected (0.00 sec)
mysql> SHOW GRANTS FOR 'dba01'@'%';
+--------------------------------------------------------------------+
| Grants for dba01@% |
+--------------------------------------------------------------------+
| GRANT USAGE ON *.* TO `dba01`@`%` |
| GRANT SELECT, INSERT, UPDATE, DELETE ON `blog_db`.* TO `dba01`@`%` |
+--------------------------------------------------------------------+
2 rows in set (0.00 sec)
mysql> create database blog_db;
Query OK, 1 row affected (0.00 sec)
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| aaa |
| blog_db |
| games |
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
7 rows in set (0.00 sec)
mysql> drop database aaa;
Query OK, 0 rows affected (0.01 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
mysql> drop database games;
Query OK, 0 rows affected (0.00 sec)
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| blog_db |
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
5 rows in set (0.00 sec)
mysql> select user();
+----------------+
| user() |
+----------------+
| root@localhost |
+----------------+
1 row in set (0.00 sec)
mysql> select user,host from mysql.user;
+------------------+-----------+
| user | host |
+------------------+-----------+
| dba01 | % |
| test01 | 10.0.0.% |
| test03 | 10.0.0.% |
| mysql.infoschema | localhost |
| mysql.session | localhost |
| mysql.sys | localhost |
| root | localhost |
+------------------+-----------+
7 rows in set (0.00 sec)
mysql> SELECT user, host, authentication_string, plugin FROM mysql.user WHERE user = 'dba01';
+-------+------+------------------------------------------------------------------------+-----------------------+
| user | host | authentication_string | plugin |
+-------+------+------------------------------------------------------------------------+-----------------------+
| dba01 | % | $A$005$FP
'HxDnf."FkCg
8Y.yMYc5Jd4kOCwznMUAVKAITQRZhAC8nj3rgvs2mg/ | caching_sha2_password |
+-------+------+------------------------------------------------------------------------+-----------------------+
1 row in set (0.00 sec)
mysql> GRANT SELECT, INSERT, UPDATE, DELETE ON blog_db.* TO 'dba01'@'%';
Query OK, 0 rows affected (0.00 sec)
mysql> create table b1 (id int , name varchar(30) not null);
ERROR 1046 (3D000): No database selected
mysql> use blog_db;
Database changed
mysql> create table b1 (id int , name varchar(30) not null);
Query OK, 0 rows affected (0.01 sec)
mysql> SHOW GRANTS FOR 'dba01'@'%';
+--------------------------------------------------------------------+
| Grants for dba01@% |
+--------------------------------------------------------------------+
| GRANT USAGE ON *.* TO `dba01`@`%` |
| GRANT SELECT, INSERT, UPDATE, DELETE ON `blog_db`.* TO `dba01`@`%` |
+--------------------------------------------------------------------+
2 rows in set (0.00 sec)
mysql> ALTER TABLE b1 MODIFY id INT AUTO_INCREMENT PRIMARY KEY;
Query OK, 2 rows affected (0.02 sec)
Records: 2 Duplicates: 0 Warnings: 0
mysql> CREATE TABLE b2 (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(30) NOT NULL);
Query OK, 0 rows affected (0.01 sec)
mysql>
用户权限管理
bash
root@elk153:~ # mysql -u root -p
mysql> SHOW GRANTS FOR dba01@'%';
+--------------------------------------------------------------------+
| Grants for dba01@% |
+--------------------------------------------------------------------+
| GRANT USAGE ON *.* TO `dba01`@`%` |
| GRANT SELECT, INSERT, UPDATE, DELETE ON `blog_db`.* TO `dba01`@`%` |
+--------------------------------------------------------------------+
2 rows in set (0.00 sec)
mysql> REVOKE SELECT, INSERT, UPDATE, DELETE ON `blog_db`.* from `dba01`@`%` ;
Query OK, 0 rows affected (0.00 sec)
mysql> SHOW GRANTS FOR dba01@'%';
+-----------------------------------+
| Grants for dba01@% |
+-----------------------------------+
| GRANT USAGE ON *.* TO `dba01`@`%` |
+-----------------------------------+
1 row in set (0.00 sec)
mysql> GRANT CREATE ON blog_db.d1 TO `dba01`@`%`;
Query OK, 0 rows affected (0.00 sec)
mysql> SHOW GRANTS FOR dba01@'%';
+-----------------------------------------------+
| Grants for dba01@% |
+-----------------------------------------------+
| GRANT USAGE ON *.* TO `dba01`@`%` |
| GRANT CREATE ON `blog_db`.`d1` TO `dba01`@`%` |
+-----------------------------------------------+
2 rows in set (0.00 sec)
mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> show tables;
+------------------------------------------------------+
| Tables_in_mysql |
+------------------------------------------------------+
| columns_priv |
| component |
| db |
| default_roles |
| engine_cost |
| func |
| general_log |
| global_grants |
| gtid_executed |
| help_category |
| help_keyword |
| help_relation |
| help_topic |
| innodb_index_stats |
| innodb_table_stats |
| ndb_binlog_index |
| password_history |
| plugin |
| procs_priv |
| proxies_priv |
| replication_asynchronous_connection_failover |
| replication_asynchronous_connection_failover_managed |
| replication_group_configuration_version |
| replication_group_member_actions |
| role_edges |
| server_cost |
| servers |
| slave_master_info |
| slave_relay_log_info |
| slave_worker_info |
| slow_log |
| tables_priv |
| time_zone |
| time_zone_leap_second |
| time_zone_name |
| time_zone_transition |
| time_zone_transition_type |
| user |
+------------------------------------------------------+
38 rows in set (0.00 sec)
mysql> desc tables_priv;
+-------------+-----------------------------------------------------------------------------------------------------------------------------------+------+-----+-------------------+-----------------------------------------------+
| Field | Type | Null | Key | Default | Extra |
+-------------+-----------------------------------------------------------------------------------------------------------------------------------+------+-----+-------------------+-----------------------------------------------+
| Host | char(255) | NO | PRI | | |
| Db | char(64) | NO | PRI | | |
| User | char(32) | NO | PRI | | |
| Table_name | char(64) | NO | PRI | | |
| Grantor | varchar(288) | NO | MUL | | |
| Timestamp | timestamp | NO | | CURRENT_TIMESTAMP | DEFAULT_GENERATED on update CURRENT_TIMESTAMP |
| Table_priv | set('Select','Insert','Update','Delete','Create','Drop','Grant','References','Index','Alter','Create View','Show view','Trigger') | NO | | | |
| Column_priv | set('Select','Insert','Update','References') | NO | | | |
+-------------+-----------------------------------------------------------------------------------------------------------------------------------+------+-----+-------------------+-----------------------------------------------+
8 rows in set (0.00 sec)
mysql> select * from tables_priv where User='dba01';
+------+---------+-------+------------+----------------+---------------------+------------+-------------+
| Host | Db | User | Table_name | Grantor | Timestamp | Table_priv | Column_priv |
+------+---------+-------+------------+----------------+---------------------+------------+-------------+
| % | blog_db | dba01 | d1 | root@localhost | 2025-12-30 09:57:09 | Create | |
+------+---------+-------+------------+----------------+---------------------+------------+-------------+
1 row in set (0.00 sec)
mysql> status;
--------------
mysql Ver 8.0.44 for Linux on x86_64 (MySQL Community Server - GPL)
Connection id: 30
Current database: mysql
Current user: root@localhost
SSL: Not in use
Current pager: stdout
Using outfile: ''
Using delimiter: ;
Server version: 8.0.44 MySQL Community Server - GPL
Protocol version: 10
Connection: Localhost via UNIX socket
Server characterset: utf8mb4
Db characterset: utf8mb4
Client characterset: utf8mb4
Conn. characterset: utf8mb4
UNIX socket: /tmp/mysql.sock
Binary data as: Hexadecimal
Uptime: 16 hours 25 min 57 sec
Threads: 4 Questions: 176 Slow queries: 0 Opens: 285 Flush tables: 3 Open tables: 201 Queries per second avg: 0.002
--------------
mysql> SELECT DATABASE();
+------------+
| DATABASE() |
+------------+
| mysql |
+------------+
1 row in set (0.00 sec)
mysql> \s
--------------
mysql Ver 8.0.44 for Linux on x86_64 (MySQL Community Server - GPL)
Threads: 4 Questions: 180 Slow queries: 0 Opens: 285 Flush tables: 3 Open tables: 201 Queries per second avg: 0.003
--------------
mysql> GRANT CREATE ON 'blog_db.d1' TO `dba01`@`%`;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''blog_db.d1' TO `dba01`@`%`' at line 1
mysql> GRANT CREATE ON blog_db.d1 TO `dba01`@`%`;
Query OK, 0 rows affected (0.00 sec)
mysql> GRANT CREATE ON blog_db.* TO `dba01`@`%`;
Query OK, 0 rows affected (0.00 sec)
mysql> SHOW GRANTS FOR dba01@'%';
+-----------------------------------------------+
| Grants for dba01@% |
+-----------------------------------------------+
| GRANT USAGE ON *.* TO `dba01`@`%` |
| GRANT CREATE ON `blog_db`.* TO `dba01`@`%` |
| GRANT CREATE ON `blog_db`.`d1` TO `dba01`@`%` |
+-----------------------------------------------+
3 rows in set (0.00 sec)
mysql> select * from db where User='dba01';
+------+---------+-------+-------------+-------------+-------------+-------------+-------------+-----------+------------+-----------------+------------+------------+-----------------------+------------------+------------------+----------------+---------------------+--------------------+--------------+------------+--------------+
| Host | Db | User | Select_priv | Insert_priv | Update_priv | Delete_priv | Create_priv | Drop_priv | Grant_priv | References_priv | Index_priv | Alter_priv | Create_tmp_table_priv | Lock_tables_priv | Create_view_priv | Show_view_priv | Create_routine_priv | Alter_routine_priv | Execute_priv | Event_priv | Trigger_priv |
+------+---------+-------+-------------+-------------+-------------+-------------+-------------+-----------+------------+-----------------+------------+------------+-----------------------+------------------+------------------+----------------+---------------------+--------------------+--------------+------------+--------------+
| % | blog_db | dba01 | N | N | N | N | Y | N | N | N | N | N | N | N | N | N | N | N | N | N | N |
+------+---------+-------+-------------+-------------+-------------+-------------+-------------+-----------+------------+-----------------+------------+------------+-----------------------+------------------+------------------+----------------+---------------------+--------------------+--------------+------------+--------------+
1 row in set (0.00 sec)
mysql> select * from db where User='dba01'\G;
*************************** 1. row ***************************
Host: %
Db: blog_db
User: dba01
Select_priv: N
Insert_priv: N
Update_priv: N
Delete_priv: N
Create_priv: Y
Drop_priv: N
Grant_priv: N
References_priv: N
Index_priv: N
Alter_priv: N
Create_tmp_table_priv: N
Lock_tables_priv: N
Create_view_priv: N
Show_view_priv: N
Create_routine_priv: N
Alter_routine_priv: N
Execute_priv: N
Event_priv: N
Trigger_priv: N
1 row in set (0.00 sec)
ERROR:
No query specified
mysql> select * from db where User='dba01'\g;
+------+---------+-------+-------------+-------------+-------------+-------------+-------------+-----------+------------+-----------------+------------+------------+-----------------------+------------------+------------------+----------------+---------------------+--------------------+--------------+------------+--------------+
| Host | Db | User | Select_priv | Insert_priv | Update_priv | Delete_priv | Create_priv | Drop_priv | Grant_priv | References_priv | Index_priv | Alter_priv | Create_tmp_table_priv | Lock_tables_priv | Create_view_priv | Show_view_priv | Create_routine_priv | Alter_routine_priv | Execute_priv | Event_priv | Trigger_priv |
+------+---------+-------+-------------+-------------+-------------+-------------+-------------+-----------+------------+-----------------+------------+------------+-----------------------+------------------+------------------+----------------+---------------------+--------------------+--------------+------------+--------------+
| % | blog_db | dba01 | N | N | N | N | Y | N | N | N | N | N | N | N | N | N | N | N | N | N | N |
+------+---------+-------+-------------+-------------+-------------+-------------+-------------+-----------+------------+-----------------+------------+------------+-----------------------+------------------+------------------+----------------+---------------------+--------------------+--------------+------------+--------------+
1 row in set (0.01 sec)
ERROR:
No query specified
mysql> GRANT CREATE ON *.* TO `dba01`@`%`;
Query OK, 0 rows affected (0.01 sec)
mysql>
mysql> SHOW GRANTS FOR dba01@'%';
+-----------------------------------------------+
| Grants for dba01@% |
+-----------------------------------------------+
| GRANT CREATE ON *.* TO `dba01`@`%` |
| GRANT CREATE ON `blog_db`.* TO `dba01`@`%` |
| GRANT CREATE ON `blog_db`.`d1` TO `dba01`@`%` |
+-----------------------------------------------+
3 rows in set (0.00 sec)
mysql> select * from user where User='dba01'\g;
+------+-------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+------------------+----------------+---------------------+--------------------+------------------+------------+--------------+------------------------+----------+------------------------+--------------------------+----------------------------+---------------+-------------+-----------------+----------------------+-----------------------+------------------------------------------------------------------------+------------------+-----------------------+-------------------+----------------+------------------+----------------+------------------------+---------------------+--------------------------+-----------------+
| Host | User | Select_priv | Insert_priv | Update_priv | Delete_priv | Create_priv | Drop_priv | Reload_priv | Shutdown_priv | Process_priv | File_priv | Grant_priv | References_priv | Index_priv | Alter_priv | Show_db_priv | Super_priv | Create_tmp_table_priv | Lock_tables_priv | Execute_priv | Repl_slave_priv | Repl_client_priv | Create_view_priv | Show_view_priv | Create_routine_priv | Alter_routine_priv | Create_user_priv | Event_priv | Trigger_priv | Create_tablespace_priv | ssl_type | ssl_cipher | x509_issuer | x509_subject | max_questions | max_updates | max_connections | max_user_connections | plugin | authentication_string | password_expired | password_last_changed | password_lifetime | account_locked | Create_role_priv | Drop_role_priv | Password_reuse_history | Password_reuse_time | Password_require_current | User_attributes |
+------+-------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+------------------+----------------+---------------------+--------------------+------------------+------------+--------------+------------------------+----------+------------------------+--------------------------+----------------------------+---------------+-------------+-----------------+----------------------+-----------------------+------------------------------------------------------------------------+------------------+-----------------------+-------------------+----------------+------------------+----------------+------------------------+---------------------+--------------------------+-----------------+
| % | dba01 | N | N | N | N | Y | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | | 0x | 0x | 0x | 0 | 0 | 0 | 0 | caching_sha2_password | $A$005$FP
'HxDnf."FkCg
8Y.yMYc5Jd4kOCwznMUAVKAITQRZhAC8nj3rgvs2mg/ | N | 2025-12-30 08:56:35 | NULL | N | N | N | NULL | NULL | NULL | NULL |
+------+-------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+------------------+----------------+---------------------+--------------------+------------------+------------+--------------+------------------------+----------+------------------------+--------------------------+----------------------------+---------------+-------------+-----------------+----------------------+-----------------------+------------------------------------------------------------------------+------------------+-----------------------+-------------------+----------------+------------------+----------------+------------------------+---------------------+--------------------------+-----------------+
1 row in set (0.00 sec)
mysql> select * from user where User='dba01'\G;
mysql> ? CREATE DATABASE;
Name: 'CREATE DATABASE'
Description:
Syntax:
CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name
[create_option] ...
create_option: [DEFAULT] {
CHARACTER SET [=] charset_name
| COLLATE [=] collation_name
| ENCRYPTION [=] {'Y' | 'N'}
}
CREATE DATABASE creates a database with the given name. To use this
statement, you need the CREATE privilege for the database. CREATE
SCHEMA is a synonym for CREATE DATABASE.
URL: https://dev.mysql.com/doc/refman/8.0/en/create-database.html
mysql>
mysql> select * from mysql.user where user='test03';
+----------+--------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+------------------+----------------+---------------------+--------------------+------------------+------------+--------------+------------------------+----------+------------------------+--------------------------+----------------------------+---------------+-------------+-----------------+----------------------+-----------------------+------------------------------------------------------------------------+------------------+-----------------------+-------------------+----------------+------------------+----------------+------------------------+---------------------+--------------------------+-----------------+
| Host | User | Select_priv | Insert_priv | Update_priv | Delete_priv | Create_priv | Drop_priv | Reload_priv | Shutdown_priv | Process_priv | File_priv | Grant_priv | References_priv | Index_priv | Alter_priv | Show_db_priv | Super_priv | Create_tmp_table_priv | Lock_tables_priv | Execute_priv | Repl_slave_priv | Repl_client_priv | Create_view_priv | Show_view_priv | Create_routine_priv | Alter_routine_priv | Create_user_priv | Event_priv | Trigger_priv | Create_tablespace_priv | ssl_type | ssl_cipher | x509_issuer | x509_subject | max_questions | max_updates | max_connections | max_user_connections | plugin | authentication_string | password_expired | password_last_changed | password_lifetime | account_locked | Create_role_priv | Drop_role_priv | Password_reuse_history | Password_reuse_time | Password_require_current | User_attributes |
+----------+--------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+------------------+----------------+---------------------+--------------------+------------------+------------+--------------+------------------------+----------+------------------------+--------------------------+----------------------------+---------------+-------------+-----------------+----------------------+-----------------------+------------------------------------------------------------------------+------------------+-----------------------+-------------------+----------------+------------------+----------------+------------------------+---------------------+--------------------------+-----------------+
| 10.0.0.% | test03 | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | | 0x | 0x | 0x | 0 | 0 | 0 | 0 | caching_sha2_password | $A$005$3-we}myT"PK+#]v&xMomLhw/.iyQckTx9ZQjPGnEIXvIYV29xsyegc.F6/A | N | 2025-12-29 21:51:46 | NULL | N | N | N | NULL | NULL | NULL | NULL |
+----------+--------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+------------------+----------------+---------------------+--------------------+------------------+------------+--------------+------------------------+----------+------------------------+--------------------------+----------------------------+---------------+-------------+-----------------+----------------------+-----------------------+------------------------------------------------------------------------+------------------+-----------------------+-------------------+----------------+------------------+----------------+------------------------+---------------------+--------------------------+-----------------+
1 row in set (0.00 sec)
mysql> select * from mysql.user where user='test03'\G;
*************************** 1. row ***************************
Host: 10.0.0.%
User: test03
Select_priv: N
Insert_priv: N
Update_priv: N
Delete_priv: N
Create_priv: N
Drop_priv: N
Reload_priv: N
Shutdown_priv: N
Process_priv: N
File_priv: N
Grant_priv: N
References_priv: N
Index_priv: N
Alter_priv: N
Show_db_priv: N
Super_priv: N
Create_tmp_table_priv: N
Lock_tables_priv: N
Execute_priv: N
Repl_slave_priv: N
Repl_client_priv: N
Create_view_priv: N
Show_view_priv: N
Create_routine_priv: N
Alter_routine_priv: N
Create_user_priv: N
Event_priv: N
Trigger_priv: N
Create_tablespace_priv: N
ssl_type:
ssl_cipher: 0x
x509_issuer: 0x
x509_subject: 0x
max_questions: 0
max_updates: 0
max_connections: 0
max_user_connections: 0
plugin: caching_sha2_password
authentication_string: $A$005$3-we}myT"PK+#]v&xMomLhw/.iyQckTx9ZQjPGnEIXvIYV29xsyegc.F6/A
password_expired: N
password_last_changed: 2025-12-29 21:51:46
password_lifetime: NULL
account_locked: N
Create_role_priv: N
Drop_role_priv: N
Password_reuse_history: NULL
Password_reuse_time: NULL
Password_require_current: NULL
User_attributes: NULL
1 row in set (0.00 sec)
ERROR:
No query specified
mysql>
mysql>
mysql> select * from mysql.tables_priv where user='test03'\G;
*************************** 1. row ***************************
Host: 10.0.0.%
Db: blog_db
User: test03
Table_name: d1
Grantor: dba01@10.0.0.1
Timestamp: 2025-12-30 10:59:33
Table_priv: Create
Column_priv:
1 row in set (0.00 sec)
ERROR:
No query specified
mysql> select * from mysql.tables_priv where user='test03';
+----------+---------+--------+------------+----------------+---------------------+------------+-------------+
| Host | Db | User | Table_name | Grantor | Timestamp | Table_priv | Column_priv |
+----------+---------+--------+------------+----------------+---------------------+------------+-------------+
| 10.0.0.% | blog_db | test03 | d1 | dba01@10.0.0.1 | 2025-12-30 10:59:33 | Create | |
+----------+---------+--------+------------+----------------+---------------------+------------+-------------+
1 row in set (0.01 sec)
--校验
mysql> SET GLOBAL activate_all_roles_on_login = ON;
Query OK, 0 rows affected (0.00 sec)
mysql> SELECT CURRENT_ROLE();
+----------------+
| CURRENT_ROLE() |
+----------------+
| NONE |
+----------------+
1 row in set (0.00 sec)
mysql> select user, host,account_locked from mysql.user;
+------------------+-----------+----------------+
| user | host | account_locked |
+------------------+-----------+----------------+
| blog_rw | % | Y |
| dba01 | % | N |
| user01 | % | N |
| user02 | % | N |
| test01 | 10.0.0.% | Y |
| test03 | 10.0.0.% | N |
| mysql.infoschema | localhost | Y |
| mysql.session | localhost | Y |
| mysql.sys | localhost | Y |
| root | localhost | N |
+------------------+-----------+----------------+
10 rows in set (0.00 sec)
mysql> SELECT * FROM mysql.default_roles ;
+------+--------+-------------------+-------------------+
| HOST | USER | DEFAULT_ROLE_HOST | DEFAULT_ROLE_USER |
+------+--------+-------------------+-------------------+
| % | user01 | % | blog_rw |
+------+--------+-------------------+-------------------+
1 row in set (0.00 sec)
mysql> SELECT * FROM mysql.role_edges;
+-----------+-----------+---------+---------+-------------------+
| FROM_HOST | FROM_USER | TO_HOST | TO_USER | WITH_ADMIN_OPTION |
+-----------+-----------+---------+---------+-------------------+
| % | blog_rw | % | user01 | N |
+-----------+-----------+---------+---------+-------------------+
1 row in set (0.00 sec)
mysql> CREATE ROLE IF NOT EXISTS test_role;
Query OK, 0 rows affected (0.00 sec)
mysql> GRANT SELECT ON blog01.* TO test_role;
Query OK, 0 rows affected (0.01 sec)
mysql> CREATE USER IF NOT EXISTS test_user@'%' IDENTIFIED BY '123456';
Query OK, 0 rows affected (0.01 sec)
mysql> GRANT test_role@'%' TO test_user@'%';
Query OK, 0 rows affected (0.00 sec)
mysql> SELECT COUNT(*) FROM mysql.user;
+----------+
| COUNT(*) |
+----------+
| 12 |
+----------+
1 row in set (0.00 sec)
mysql> SELECT user ,host FROM mysql.user;
+------------------+-----------+
| user | host |
+------------------+-----------+
| blog_rw | % |
| dba01 | % |
| test_role | % |
| test_user | % |
| user01 | % |
| user02 | % |
| test01 | 10.0.0.% |
| test03 | 10.0.0.% |
| mysql.infoschema | localhost |
| mysql.session | localhost |
| mysql.sys | localhost |
| root | localhost |
+------------------+-----------+
12 rows in set (0.00 sec)
mysql> SELECT * FROM mysql.role_edges;
+-----------+-----------+---------+-----------+-------------------+
| FROM_HOST | FROM_USER | TO_HOST | TO_USER | WITH_ADMIN_OPTION |
+-----------+-----------+---------+-----------+-------------------+
| % | blog_rw | % | user01 | N |
| % | test_role | % | test_user | N |
+-----------+-----------+---------+-----------+-------------------+
2 rows in set (0.00 sec)
mysql> SELECT * FROM mysql.default_roles ;
+------+--------+-------------------+-------------------+
| HOST | USER | DEFAULT_ROLE_HOST | DEFAULT_ROLE_USER |
+------+--------+-------------------+-------------------+
| % | user01 | % | blog_rw |
+------+--------+-------------------+-------------------+
1 row in set (0.00 sec)
---
mysql> SHOW COLUMNS FROM mysql.user LIKE '%role%';
+------------------+---------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------------+---------------+------+-----+---------+-------+
| Create_role_priv | enum('N','Y') | NO | | N | |
| Drop_role_priv | enum('N','Y') | NO | | N | |
+------------------+---------------+------+-----+---------+-------+
2 rows in set (0.00 sec)
mysql> DESC mysql.user;
+--------------------------+-----------------------------------+------+-----+-----------------------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------------------------+-----------------------------------+------+-----+-----------------------+-------+
| Host | char(255) | NO | PRI | | |
| User | char(32) | NO | PRI | | |
| Select_priv | enum('N','Y') | NO | | N | |
| Insert_priv | enum('N','Y') | NO | | N | |
| Update_priv | enum('N','Y') | NO | | N | |
| Delete_priv | enum('N','Y') | NO | | N | |
| Create_priv | enum('N','Y') | NO | | N | |
| Drop_priv | enum('N','Y') | NO | | N | |
| Reload_priv | enum('N','Y') | NO | | N | |
| Shutdown_priv | enum('N','Y') | NO | | N | |
| Process_priv | enum('N','Y') | NO | | N | |
| File_priv | enum('N','Y') | NO | | N | |
| Grant_priv | enum('N','Y') | NO | | N | |
| References_priv | enum('N','Y') | NO | | N | |
| Index_priv | enum('N','Y') | NO | | N | |
| Alter_priv | enum('N','Y') | NO | | N | |
| Show_db_priv | enum('N','Y') | NO | | N | |
| Super_priv | enum('N','Y') | NO | | N | |
| Create_tmp_table_priv | enum('N','Y') | NO | | N | |
| Lock_tables_priv | enum('N','Y') | NO | | N | |
| Execute_priv | enum('N','Y') | NO | | N | |
| Repl_slave_priv | enum('N','Y') | NO | | N | |
| Repl_client_priv | enum('N','Y') | NO | | N | |
| Create_view_priv | enum('N','Y') | NO | | N | |
| Show_view_priv | enum('N','Y') | NO | | N | |
| Create_routine_priv | enum('N','Y') | NO | | N | |
| Alter_routine_priv | enum('N','Y') | NO | | N | |
| Create_user_priv | enum('N','Y') | NO | | N | |
| Event_priv | enum('N','Y') | NO | | N | |
| Trigger_priv | enum('N','Y') | NO | | N | |
| Create_tablespace_priv | enum('N','Y') | NO | | N | |
| ssl_type | enum('','ANY','X509','SPECIFIED') | NO | | | |
| ssl_cipher | blob | NO | | NULL | |
| x509_issuer | blob | NO | | NULL | |
| x509_subject | blob | NO | | NULL | |
| max_questions | int unsigned | NO | | 0 | |
| max_updates | int unsigned | NO | | 0 | |
| max_connections | int unsigned | NO | | 0 | |
| max_user_connections | int unsigned | NO | | 0 | |
| plugin | char(64) | NO | | caching_sha2_password | |
| authentication_string | text | YES | | NULL | |
| password_expired | enum('N','Y') | NO | | N | |
| password_last_changed | timestamp | YES | | NULL | |
| password_lifetime | smallint unsigned | YES | | NULL | |
| account_locked | enum('N','Y') | NO | | N | |
| Create_role_priv | enum('N','Y') | NO | | N | |
| Drop_role_priv | enum('N','Y') | NO | | N | |
| Password_reuse_history | smallint unsigned | YES | | NULL | |
| Password_reuse_time | smallint unsigned | YES | | NULL | |
| Password_require_current | enum('N','Y') | YES | | NULL | |
| User_attributes | json | YES | | NULL | |
+--------------------------+-----------------------------------+------+-----+-----------------------+-------+
51 rows in set (0.01 sec)
mysql> -- 或精确查找相关列
mysql> SHOW COLUMNS FROM mysql.user LIKE '%role%';
+------------------+---------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------------+---------------+------+-----+---------+-------+
| Create_role_priv | enum('N','Y') | NO | | N | |
| Drop_role_priv | enum('N','Y') | NO | | N | |
+------------------+---------------+------+-----+---------+-------+
2 rows in set (0.00 sec)
锁/解锁用户
bash
mysql> SELECT user, host, account_locked FROM mysql.user WHERE user = 'user01';
+--------+------+----------------+
| user | host | account_locked |
+--------+------+----------------+
| user01 | % | N |
+--------+------+----------------+
1 row in set (0.00 sec)
mysql> alter user user01@'%' account lock;
Query OK, 0 rows affected (0.00 sec)
mysql> SELECT user, host, account_locked FROM mysql.user WHERE user = 'user01';
+--------+------+----------------+
| user | host | account_locked |
+--------+------+----------------+
| user01 | % | Y |
+--------+------+----------------+
1 row in set (0.00 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
mysql> SELECT user, host, account_locked FROM mysql.user ;
+------------------+-----------+----------------+
| user | host | account_locked |
+------------------+-----------+----------------+
| blog_rw | % | Y |
| dba01 | % | N |
| user01 | % | Y |
| user02 | % | N |
| test01 | 10.0.0.% | Y |
| test03 | 10.0.0.% | N |
10 rows in set (0.00 sec)
mysql> alter user user01@'%' account unlock;
Query OK, 0 rows affected (0.00 sec)
mysql> SELECT user, host, account_locked FROM mysql.user ;
+------------------+-----------+----------------+
| user | host | account_locked |
+------------------+-----------+----------------+
| blog_rw | % | Y |
| dba01 | % | N |
| user01 | % | N |
| user02 | % | N |
| test01 | 10.0.0.% | Y |
| test03 | 10.0.0.% | N |
10 rows in set (0.00 sec)
角色权限管理
bash
mysql> CREATE ROLE blog01_rw, blog01_r;
Query OK, 0 rows affected (0.00 sec)
mysql> CREATE DATABASE blog01;
Query OK, 1 row affected (0.00 sec)
mysql> USE blog01;
Database changed
mysql> CREATE TABLE b1 (id INT);
Query OK, 0 rows affected (0.00 sec)
mysql> INSERT INTO b1 VALUES (1), (2), (3);
Query OK, 3 rows affected (0.01 sec)
Records: 3 Duplicates: 0 Warnings: 0
mysql> SELECT * FROM blog01.b1;
+------+
| id |
+------+
| 1 |
| 2 |
| 3 |
+------+
3 rows in set (0.00 sec)
--未激活角色的用户无法使用该角色的权限进行操作
mysql> SELECT * FROM mysql.role_edges;
Empty set (0.00 sec)
mysql> SELECT * FROM mysql.user WHERE account_locked = 'Y';
+-----------+------------------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+------------------+----------------+---------------------+--------------------+------------------+------------+--------------+------------------------+----------+------------------------+--------------------------+----------------------------+---------------+-------------+-----------------+----------------------+-----------------------+------------------------------------------------------------------------+------------------+-----------------------+-------------------+----------------+------------------+----------------+------------------------+---------------------+--------------------------+-----------------+
| Host | User | Select_priv | Insert_priv | Update_priv | Delete_priv | Create_priv | Drop_priv | Reload_priv | Shutdown_priv | Process_priv | File_priv | Grant_priv | References_priv | Index_priv | Alter_priv | Show_db_priv | Super_priv | Create_tmp_table_priv | Lock_tables_priv | Execute_priv | Repl_slave_priv | Repl_client_priv | Create_view_priv | Show_view_priv | Create_routine_priv | Alter_routine_priv | Create_user_priv | Event_priv | Trigger_priv | Create_tablespace_priv | ssl_type | ssl_cipher | x509_issuer | x509_subject | max_questions | max_updates | max_connections | max_user_connections | plugin | authentication_string | password_expired | password_last_changed | password_lifetime | account_locked | Create_role_priv | Drop_role_priv | Password_reuse_history | Password_reuse_time | Password_require_current | User_attributes |
+-----------+------------------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+------------------+----------------+---------------------+--------------------+------------------+------------+--------------+------------------------+----------+------------------------+--------------------------+----------------------------+---------------+-------------+-----------------+----------------------+-----------------------+------------------------------------------------------------------------+------------------+-----------------------+-------------------+----------------+------------------+----------------+------------------------+---------------------+--------------------------+-----------------+
| % | blog01_r | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | | 0x | 0x | 0x | 0 | 0 | 0 | 0 | caching_sha2_password | | Y | 2025-12-30 11:07:05 | NULL | Y | N | N | NULL | NULL | NULL | NULL |
| % | blog01_rw | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | | 0x | 0x | 0x | 0 | 0 | 0 | 0 | caching_sha2_password | | Y | 2025-12-30 11:07:05 | NULL | Y | N | N | NULL | NULL | NULL | NULL |
| 10.0.0.% | test01 | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | | 0x | 0x | 0x | 0 | 0 | 0 | 0 | caching_sha2_password | $A$005$j%9
@}/ 8j=Jd}",Dx9QwczuaoTc5UAeJ6W2B.x4rnHRx4O8rNLboR8Tx07 | N | 2025-12-29 21:35:04 | NULL | Y | N | N | NULL | NULL | NULL | NULL |
| localhost | mysql.infoschema | Y | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | | 0x | 0x | 0x | 0 | 0 | 0 | 0 | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | N | 2025-12-28 11:25:56 | NULL | Y | N | N | NULL | NULL | NULL | NULL |
| localhost | mysql.session | N | N | N | N | N | N | N | Y | N | N | N | N | N | N | N | Y | N | N | N | N | N | N | N | N | N | N | N | N | N | | 0x | 0x | 0x | 0 | 0 | 0 | 0 | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | N | 2025-12-28 11:25:56 | NULL | Y | N | N | NULL | NULL | NULL | NULL |
| localhost | mysql.sys | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | | 0x | 0x | 0x | 0 | 0 | 0 | 0 | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | N | 2025-12-28 11:25:56 | NULL | Y | N | N | NULL | NULL | NULL | NULL |
+-----------+------------------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+------------------+----------------+---------------------+--------------------+------------------+------------+--------------+------------------------+----------+------------------------+--------------------------+----------------------------+---------------+-------------+-----------------+----------------------+-----------------------+------------------------------------------------------------------------+------------------+-----------------------+-------------------+----------------+------------------+----------------+------------------------+---------------------+--------------------------+-----------------+
6 rows in set (0.00 sec)
mysql> DROP USER blog01_rw, blog01_r;
Query OK, 0 rows affected (0.00 sec)
mysql> SELECT * FROM mysql.general_log ;
Empty set (0.00 sec)
mysql> desc mysql.general_log;
+--------------+-----------------+------+-----+----------------------+--------------------------------------------------+
| Field | Type | Null | Key | Default | Extra |
+--------------+-----------------+------+-----+----------------------+--------------------------------------------------+
| event_time | timestamp(6) | NO | | CURRENT_TIMESTAMP(6) | DEFAULT_GENERATED on update CURRENT_TIMESTAMP(6) |
| user_host | mediumtext | NO | | NULL | |
| thread_id | bigint unsigned | NO | | NULL | |
| server_id | int unsigned | NO | | NULL | |
| command_type | varchar(64) | NO | | NULL | |
| argument | mediumblob | NO | | NULL | |
+--------------+-----------------+------+-----+----------------------+--------------------------------------------------+
6 rows in set (0.01 sec)
mysql> SET GLOBAL general_log = 'ON';
Query OK, 0 rows affected (0.00 sec)
mysql> SET GLOBAL log_output = 'TABLE'; -- 记录到 mysql.general_log 表
Query OK, 0 rows affected (0.00 sec)
mysql> SELECT * FROM mysql.general_log ;
+----------------------------+---------------------------+-----------+-----------+--------------+------------------------------------------------------------------+
| event_time | user_host | thread_id | server_id | command_type | argument |
+----------------------------+---------------------------+-----------+-----------+--------------+------------------------------------------------------------------+
| 2025-12-30 11:31:26.352334 | root[root] @ localhost [] | 30 | 1 | Query | 0x53454C454354202A2046524F4D206D7973716C2E67656E6572616C5F6C6F67 |
+----------------------------+---------------------------+-----------+-----------+--------------+------------------------------------------------------------------+
1 row in set (0.00 sec)
mysql> create role blog_rw, blog_r;
Query OK, 0 rows affected (0.01 sec)
mysql> SELECT * FROM mysql.general_log ;
+----------------------------+---------------------------+-----------+-----------+--------------+------------------------------------------------------------------+
| event_time | user_host | thread_id | server_id | command_type | argument |
+----------------------------+---------------------------+-----------+-----------+--------------+------------------------------------------------------------------+
| 2025-12-30 11:31:26.352334 | root[root] @ localhost [] | 30 | 1 | Query | 0x53454C454354202A2046524F4D206D7973716C2E67656E6572616C5F6C6F67 |
| 2025-12-30 11:33:21.491079 | root[root] @ localhost [] | 30 | 1 | Query | 0x63726561746520726F6C6520626C6F675F72772C20626C6F675F72 |
| 2025-12-30 11:33:23.500364 | root[root] @ localhost [] | 30 | 1 | Query | 0x53454C454354202A2046524F4D206D7973716C2E67656E6572616C5F6C6F67 |
+----------------------------+---------------------------+-----------+-----------+--------------+------------------------------------------------------------------+
3 rows in set (0.00 sec)
mysql> SELECT * FROM mysql.user WHERE account_locked = 'Y';
+-----------+------------------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+------------------+----------------+---------------------+--------------------+------------------+------------+--------------+------------------------+----------+------------------------+--------------------------+----------------------------+---------------+-------------+-----------------+----------------------+-----------------------+------------------------------------------------------------------------+------------------+-----------------------+-------------------+----------------+------------------+----------------+------------------------+---------------------+--------------------------+-----------------+
| Host | User | Select_priv | Insert_priv | Update_priv | Delete_priv | Create_priv | Drop_priv | Reload_priv | Shutdown_priv | Process_priv | File_priv | Grant_priv | References_priv | Index_priv | Alter_priv | Show_db_priv | Super_priv | Create_tmp_table_priv | Lock_tables_priv | Execute_priv | Repl_slave_priv | Repl_client_priv | Create_view_priv | Show_view_priv | Create_routine_priv | Alter_routine_priv | Create_user_priv | Event_priv | Trigger_priv | Create_tablespace_priv | ssl_type | ssl_cipher | x509_issuer | x509_subject | max_questions | max_updates | max_connections | max_user_connections | plugin | authentication_string | password_expired | password_last_changed | password_lifetime | account_locked | Create_role_priv | Drop_role_priv | Password_reuse_history | Password_reuse_time | Password_require_current | User_attributes |
+-----------+------------------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+------------------+----------------+---------------------+--------------------+------------------+------------+--------------+------------------------+----------+------------------------+--------------------------+----------------------------+---------------+-------------+-----------------+----------------------+-----------------------+------------------------------------------------------------------------+------------------+-----------------------+-------------------+----------------+------------------+----------------+------------------------+---------------------+--------------------------+-----------------+
| % | blog_r | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | | 0x | 0x | 0x | 0 | 0 | 0 | 0 | caching_sha2_password | | Y | 2025-12-30 11:33:21 | NULL | Y | N | N | NULL | NULL | NULL | NULL |
| % | blog_rw | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | | 0x | 0x | 0x | 0 | 0 | 0 | 0 | caching_sha2_password | | Y | 2025-12-30 11:33:21 | NULL | Y | N | N | NULL | NULL | NULL | NULL |
| 10.0.0.% | test01 | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | | 0x | 0x | 0x | 0 | 0 | 0 | 0 | caching_sha2_password | $A$005$j%9
@}/ 8j=Jd}",Dx9QwczuaoTc5UAeJ6W2B.x4rnHRx4O8rNLboR8Tx07 | N | 2025-12-29 21:35:04 | NULL | Y | N | N | NULL | NULL | NULL | NULL |
| localhost | mysql.infoschema | Y | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | | 0x | 0x | 0x | 0 | 0 | 0 | 0 | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | N | 2025-12-28 11:25:56 | NULL | Y | N | N | NULL | NULL | NULL | NULL |
| localhost | mysql.session | N | N | N | N | N | N | N | Y | N | N | N | N | N | N | N | Y | N | N | N | N | N | N | N | N | N | N | N | N | N | | 0x | 0x | 0x | 0 | 0 | 0 | 0 | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | N | 2025-12-28 11:25:56 | NULL | Y | N | N | NULL | NULL | NULL | NULL |
| localhost | mysql.sys | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | | 0x | 0x | 0x | 0 | 0 | 0 | 0 | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | N | 2025-12-28 11:25:56 | NULL | Y | N | N | NULL | NULL | NULL | NULL |
+-----------+------------------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+------------------+----------------+---------------------+--------------------+------------------+------------+--------------+------------------------+----------+------------------------+--------------------------+----------------------------+---------------+-------------+-----------------+----------------------+-----------------------+------------------------------------------------------------------------+------------------+-----------------------+-------------------+----------------+------------------+----------------+------------------------+---------------------+--------------------------+-----------------+
6 rows in set (0.00 sec)
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| blog01 |
| blog_db |
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
6 rows in set (0.00 sec)
mysql> GRANT SELECT ON blog01.* TO blog_r;
Query OK, 0 rows affected (0.00 sec)
mysql> GRANT SELECT,update,insert,delete ON blog01.* TO blog_rw;
Query OK, 0 rows affected (0.00 sec)
mysql> SELECT * FROM mysql.role_edges;
Empty set (0.00 sec)
mysql> SELECT * FROM mysql.user WHERE account_locked = 'Y';
+-----------+------------------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+------------------+----------------+---------------------+--------------------+------------------+------------+--------------+------------------------+----------+------------------------+--------------------------+----------------------------+---------------+-------------+-----------------+----------------------+-----------------------+------------------------------------------------------------------------+------------------+-----------------------+-------------------+----------------+------------------+----------------+------------------------+---------------------+--------------------------+-----------------+
| Host | User | Select_priv | Insert_priv | Update_priv | Delete_priv | Create_priv | Drop_priv | Reload_priv | Shutdown_priv | Process_priv | File_priv | Grant_priv | References_priv | Index_priv | Alter_priv | Show_db_priv | Super_priv | Create_tmp_table_priv | Lock_tables_priv | Execute_priv | Repl_slave_priv | Repl_client_priv | Create_view_priv | Show_view_priv | Create_routine_priv | Alter_routine_priv | Create_user_priv | Event_priv | Trigger_priv | Create_tablespace_priv | ssl_type | ssl_cipher | x509_issuer | x509_subject | max_questions | max_updates | max_connections | max_user_connections | plugin | authentication_string | password_expired | password_last_changed | password_lifetime | account_locked | Create_role_priv | Drop_role_priv | Password_reuse_history | Password_reuse_time | Password_require_current | User_attributes |
+-----------+------------------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+------------------+----------------+---------------------+--------------------+------------------+------------+--------------+------------------------+----------+------------------------+--------------------------+----------------------------+---------------+-------------+-----------------+----------------------+-----------------------+------------------------------------------------------------------------+------------------+-----------------------+-------------------+----------------+------------------+----------------+------------------------+---------------------+--------------------------+-----------------+
| % | blog_r | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | | 0x | 0x | 0x | 0 | 0 | 0 | 0 | caching_sha2_password | | Y | 2025-12-30 11:33:21 | NULL | Y | N | N | NULL | NULL | NULL | NULL |
| % | blog_rw | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | | 0x | 0x | 0x | 0 | 0 | 0 | 0 | caching_sha2_password | | Y | 2025-12-30 11:33:21 | NULL | Y | N | N | NULL | NULL | NULL | NULL |
| 10.0.0.% | test01 | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | | 0x | 0x | 0x | 0 | 0 | 0 | 0 | caching_sha2_password | $A$005$j%9
@}/ 8j=Jd}",Dx9QwczuaoTc5UAeJ6W2B.x4rnHRx4O8rNLboR8Tx07 | N | 2025-12-29 21:35:04 | NULL | Y | N | N | NULL | NULL | NULL | NULL |
| localhost | mysql.infoschema | Y | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | | 0x | 0x | 0x | 0 | 0 | 0 | 0 | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | N | 2025-12-28 11:25:56 | NULL | Y | N | N | NULL | NULL | NULL | NULL |
| localhost | mysql.session | N | N | N | N | N | N | N | Y | N | N | N | N | N | N | N | Y | N | N | N | N | N | N | N | N | N | N | N | N | N | | 0x | 0x | 0x | 0 | 0 | 0 | 0 | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | N | 2025-12-28 11:25:56 | NULL | Y | N | N | NULL | NULL | NULL | NULL |
| localhost | mysql.sys | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | | 0x | 0x | 0x | 0 | 0 | 0 | 0 | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | N | 2025-12-28 11:25:56 | NULL | Y | N | N | NULL | NULL | NULL | NULL |
+-----------+------------------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+------------------+----------------+---------------------+--------------------+------------------+------------+--------------+------------------------+----------+------------------------+--------------------------+----------------------------+---------------+-------------+-----------------+----------------------+-----------------------+------------------------------------------------------------------------+------------------+-----------------------+-------------------+----------------+------------------+----------------+------------------------+---------------------+--------------------------+-----------------+
6 rows in set (0.00 sec)
mysql> SELECT * FROM mysql.user WHERE account_locked = 'Y'\g;
+-----------+------------------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+------------------+----------------+---------------------+--------------------+------------------+------------+--------------+------------------------+----------+------------------------+--------------------------+----------------------------+---------------+-------------+-----------------+----------------------+-----------------------+------------------------------------------------------------------------+------------------+-----------------------+-------------------+----------------+------------------+----------------+------------------------+---------------------+--------------------------+-----------------+
| Host | User | Select_priv | Insert_priv | Update_priv | Delete_priv | Create_priv | Drop_priv | Reload_priv | Shutdown_priv | Process_priv | File_priv | Grant_priv | References_priv | Index_priv | Alter_priv | Show_db_priv | Super_priv | Create_tmp_table_priv | Lock_tables_priv | Execute_priv | Repl_slave_priv | Repl_client_priv | Create_view_priv | Show_view_priv | Create_routine_priv | Alter_routine_priv | Create_user_priv | Event_priv | Trigger_priv | Create_tablespace_priv | ssl_type | ssl_cipher | x509_issuer | x509_subject | max_questions | max_updates | max_connections | max_user_connections | plugin | authentication_string | password_expired | password_last_changed | password_lifetime | account_locked | Create_role_priv | Drop_role_priv | Password_reuse_history | Password_reuse_time | Password_require_current | User_attributes |
+-----------+------------------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+------------------+----------------+---------------------+--------------------+------------------+------------+--------------+------------------------+----------+------------------------+--------------------------+----------------------------+---------------+-------------+-----------------+----------------------+-----------------------+------------------------------------------------------------------------+------------------+-----------------------+-------------------+----------------+------------------+----------------+------------------------+---------------------+--------------------------+-----------------+
| % | blog_r | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | | 0x | 0x | 0x | 0 | 0 | 0 | 0 | caching_sha2_password | | Y | 2025-12-30 11:33:21 | NULL | Y | N | N | NULL | NULL | NULL | NULL |
| % | blog_rw | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | | 0x | 0x | 0x | 0 | 0 | 0 | 0 | caching_sha2_password | | Y | 2025-12-30 11:33:21 | NULL | Y | N | N | NULL | NULL | NULL | NULL |
| 10.0.0.% | test01 | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | | 0x | 0x | 0x | 0 | 0 | 0 | 0 | caching_sha2_password | $A$005$j%9
@}/ 8j=Jd}",Dx9QwczuaoTc5UAeJ6W2B.x4rnHRx4O8rNLboR8Tx07 | N | 2025-12-29 21:35:04 | NULL | Y | N | N | NULL | NULL | NULL | NULL |
| localhost | mysql.infoschema | Y | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | | 0x | 0x | 0x | 0 | 0 | 0 | 0 | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | N | 2025-12-28 11:25:56 | NULL | Y | N | N | NULL | NULL | NULL | NULL |
| localhost | mysql.session | N | N | N | N | N | N | N | Y | N | N | N | N | N | N | N | Y | N | N | N | N | N | N | N | N | N | N | N | N | N | | 0x | 0x | 0x | 0 | 0 | 0 | 0 | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | N | 2025-12-28 11:25:56 | NULL | Y | N | N | NULL | NULL | NULL | NULL |
| localhost | mysql.sys | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | | 0x | 0x | 0x | 0 | 0 | 0 | 0 | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | N | 2025-12-28 11:25:56 | NULL | Y | N | N | NULL | NULL | NULL | NULL |
+-----------+------------------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+------------------+----------------+---------------------+--------------------+------------------+------------+--------------+------------------------+----------+------------------------+--------------------------+----------------------------+---------------+-------------+-----------------+----------------------+-----------------------+------------------------------------------------------------------------+------------------+-----------------------+-------------------+----------------+------------------+----------------+------------------------+---------------------+--------------------------+-----------------+
6 rows in set (0.00 sec)
ERROR:
No query specified
mysql> SELECT * FROM mysql.user WHERE account_locked = 'Y'\G;
*************************** 1. row ***************************
Host: %
User: blog_r
mysql> CREATE USER user01@'%' IDENTIFIED BY '123';
Query OK, 0 rows affected (0.00 sec)
mysql> CREATE USER user02@'%' IDENTIFIED BY '123';
Query OK, 0 rows affected (0.01 sec)
mysql> GRANT blog_rw TO user01@'%';
Query OK, 0 rows affected (0.00 sec)
mysql> GRANT blog_r TO user02@'%';
Query OK, 0 rows affected (0.01 sec)
mysql> SELECT * FROM mysql.role_edges;
+-----------+-----------+---------+---------+-------------------+
| FROM_HOST | FROM_USER | TO_HOST | TO_USER | WITH_ADMIN_OPTION |
+-----------+-----------+---------+---------+-------------------+
| % | blog_r | % | user02 | N |
| % | blog_rw | % | user01 | N |
+-----------+-----------+---------+---------+-------------------+
2 rows in set (0.00 sec)
mysql> show grants for 'user01'@'%';
+-------------------------------------+
| Grants for user01@% |
+-------------------------------------+
| GRANT USAGE ON *.* TO `user01`@`%` |
| GRANT `blog_rw`@`%` TO `user01`@`%` |
+-------------------------------------+
2 rows in set (0.00 sec)
mysql> select current_role();
+----------------+
| current_role() |
+----------------+
| NONE |
+----------------+
1 row in set (0.00 sec)
mysql> SET DEFAULT ROLE ALL TO user01@'%';
Query OK, 0 rows affected (0.00 sec)
mysql> select current_role();
+----------------+
| current_role() |
+----------------+
| NONE |
+----------------+
1 row in set (0.00 sec)
mysql> select current_role();
+----------------+
| current_role() |
+----------------+
| NONE |
+----------------+
1 row in set (0.00 sec)
mysql> exit;
Bye
C:\Users\games>mysql -u user01 -h 10.0.0.153 -p123
mysql: [Warning] Using a password on the command line interface can be insecure.
mysql> select current_role();
+----------------+
| current_role() |
+----------------+
| `blog_rw`@`%` |
+----------------+
1 row in set (0.00 sec)
mysql> SELECT * FROM mysql.user;
+-----------+------------------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+------------------+----------------+---------------------+--------------------+------------------+------------+--------------+------------------------+----------+------------------------+--------------------------+----------------------------+---------------+-------------+-----------------+----------------------+-----------------------+------------------------------------------------------------------------+------------------+-----------------------+-------------------+----------------+------------------+----------------+------------------------+---------------------+--------------------------+-----------------+
| Host | User | Select_priv | Insert_priv | Update_priv | Delete_priv | Create_priv | Drop_priv | Reload_priv | Shutdown_priv | Process_priv | File_priv | Grant_priv | References_priv | Index_priv | Alter_priv | Show_db_priv | Super_priv | Create_tmp_table_priv | Lock_tables_priv | Execute_priv | Repl_slave_priv | Repl_client_priv | Create_view_priv | Show_view_priv | Create_routine_priv | Alter_routine_priv | Create_user_priv | Event_priv | Trigger_priv | Create_tablespace_priv | ssl_type | ssl_cipher | x509_issuer | x509_subject | max_questions | max_updates | max_connections | max_user_connections | plugin | authentication_string | password_expired | password_last_changed | password_lifetime | account_locked | Create_role_priv | Drop_role_priv | Password_reuse_history | Password_reuse_time | Password_require_current | User_attributes |
+-----------+------------------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+------------------+----------------+---------------------+--------------------+------------------+------------+--------------+------------------------+----------+------------------------+--------------------------+----------------------------+---------------+-------------+-----------------+----------------------+-----------------------+------------------------------------------------------------------------+------------------+-----------------------+-------------------+----------------+------------------+----------------+------------------------+---------------------+--------------------------+-----------------+
| % | blog_r | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | | 0x | 0x | 0x | 0 | 0 | 0 | 0 | caching_sha2_password | | Y | 2025-12-30 11:33:21 | NULL | Y | N | N | NULL | NULL | NULL | NULL |
| % | blog_rw | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | | 0x | 0x | 0x | 0 | 0 | 0 | 0 | caching_sha2_password | | Y | 2025-12-30 11:33:21 | NULL | Y | N | N | NULL | NULL | NULL | NULL |
| % | dba01 | N | N | N | N | Y | N | N | N | N | N | Y | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | | 0x | 0x | 0x | 0 | 0 | 0 | 0 | caching_sha2_password | $A$005$FP
| % | user02 | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | | 0x | 0x | 0x | 0 | 0 | 0 | 0 | caching_sha2_password | $A$005$|cx8|x?R{89)/wTTCXJsXibh848/2MSSKPSTAownZLsvmZoJk0eM1fpKx1 | N | 2025-12-30 11:37:29 | NULL | N | N | N | NULL | NULL | NULL | NULL |
| 10.0.0.% | test03 | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | | 0x | 0x | 0x | 0 | 0 | 0 | 0 | caching_sha2_password | $A$005$3-we}myT"PK+#]v&xMomLhw/.iyQckTx9ZQjPGnEIXvIYV29xsyegc.F6/A | N | 2025-12-29 21:51:46 | NULL | N | N | N | NULL | NULL | NULL | NULL |
| localhost | root | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | | 0x | 0x | 0x | 0 | 0 | 0 | 0 | caching_sha2_password | $A$005$*U&C]WLs|bTl^m
11 rows in set (0.00 sec)
C:\Users\games>mysql -u user01 -h 10.0.0.153 -p123
mysql> select current_role();
+----------------+
| current_role() |
+----------------+
| `blog_rw`@`%` |
+----------------+
1 row in set (0.00 sec)
mysql> SELECT CURRENT_ROLE();
+----------------+
| CURRENT_ROLE() |
+----------------+
| `blog_rw`@`%` |
+----------------+
1 row in set (0.00 sec)
mysql> show grants for `blog_rw`@`%`;
ERROR 1142 (42000): SELECT command denied to user 'user01'@'10.0.0.1' for table 'user'
mysql> exit;
Bye
C:\Users\games>mysql -u user02 -h 10.0.0.153 -p123
mysql: [Warning] Using a password on the command line interface can be insecure.
mysql> SELECT CURRENT_ROLE();
+----------------+
| CURRENT_ROLE() |
+----------------+
| NONE |
+----------------+
1 row in set (0.00 sec)
mysql> ALTER USER 'user02'@'%' SET DEFAULT ROLE 'blog_r'@'%';
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SET DEFAULT ROLE 'blog_r'@'%'' at line 1
mysql> SET ROLE 'blog_r'@'%';
Query OK, 0 rows affected (0.00 sec)
mysql> SELECT CURRENT_ROLE();
+----------------+
| CURRENT_ROLE() |
+----------------+
| `blog_r`@`%` |
+----------------+
1 row in set (0.00 sec)
mysql> SHOW VARIABLES LIKE 'version%';
+-------------------------+------------------------------+
| Variable_name | Value |
+-------------------------+------------------------------+
| version | 8.0.44 |
| version_comment | MySQL Community Server - GPL |
| version_compile_machine | x86_64 |
| version_compile_os | Linux |
| version_compile_zlib | 1.3.1 |
+-------------------------+------------------------------+
5 rows in set (0.00 sec)
mysql> drop user `blog_r`@`%`;
Query OK, 0 rows affected (0.00 sec)
mysql> select user,host from mysql.user;
+------------------+-----------+
| user | host |
+------------------+-----------+
| blog_rw | % |
| dba01 | % |
| user01 | % |
| user02 | % |
| test01 | 10.0.0.% |
| test03 | 10.0.0.% |
10 rows in set (0.00 sec)
mysql> SELECT * FROM mysql.role_edges;
+-----------+-----------+---------+---------+-------------------+
| FROM_HOST | FROM_USER | TO_HOST | TO_USER | WITH_ADMIN_OPTION |
+-----------+-----------+---------+---------+-------------------+
| % | blog_rw | % | user01 | N |
+-----------+-----------+---------+---------+-------------------+
1 row in set (0.00 sec)
mysql> show grants for 'user02'@'%';
+------------------------------------+
| Grants for user02@% |
+------------------------------------+
| GRANT USAGE ON *.* TO `user02`@`%` |
+------------------------------------+
1 row in set (0.00 sec)
mysql> select user, host,account_locked from mysql.user;
+------------------+-----------+----------------+
| user | host | account_locked |
+------------------+-----------+----------------+
| blog_rw | % | Y |
| dba01 | % | N |
| user01 | % | N |
| user02 | % | N |
| test01 | 10.0.0.% | Y |
| test03 | 10.0.0.% | N |
mysql> SELECT * FROM mysql.default_roles ;
+------+--------+-------------------+-------------------+
| HOST | USER | DEFAULT_ROLE_HOST | DEFAULT_ROLE_USER |
+------+--------+-------------------+-------------------+
| % | user01 | % | blog_rw |
+------+--------+-------------------+-------------------+
1 row in set (0.00 sec)
mysql> SELECT * FROM mysql.role_edges;
+-----------+-----------+---------+---------+-------------------+
| FROM_HOST | FROM_USER | TO_HOST | TO_USER | WITH_ADMIN_OPTION |
+-----------+-----------+---------+---------+-------------------+
| % | blog_rw | % | user01 | N |
+-----------+-----------+---------+---------+-------------------+
1 row in set (0.00 sec)