文章目录
- [2. MySQL数据目录](#2. MySQL数据目录)
- [3. 日志简介](#3. 日志简介)
-
- [3.1 一般查询日志和慢查询日志的输出形式](#3.1 一般查询日志和慢查询日志的输出形式)
-
- [3.1.1 启动时的日志控制](#3.1.1 启动时的日志控制)
- [3.1.2 运行时的日志控制](#3.1.2 运行时的日志控制)
- [3.1.3 使用日志表优点](#3.1.3 使用日志表优点)
- [3.2 一般查询日志](#3.2 一般查询日志)
-
- [3.2.1 一般查询日志示例](#3.2.1 一般查询日志示例)
- [3.3 慢查询日志](#3.3 慢查询日志)
-
- [3.3.1 慢查询日志参数](#3.3.1 慢查询日志参数)
- [3.3.2 慢查询日志内容](#3.3.2 慢查询日志内容)
-
- [3.3.2.1 FILE格式](#3.3.2.1 FILE格式)
- [3.3.2.2 TABLE格式](#3.3.2.2 TABLE格式)
- [3.3.3 慢查询日志示例](#3.3.3 慢查询日志示例)
2. MySQL数据目录
MySQL服务器的管理信息、业务数据、日志文件、磁盘缓冲文件默认存储在数据目录下,数据目录一般包含以下内容:
shell
root@yudukai:/var/lib/mysql# ll
total 93556
drwx------ 9 mysql mysql 4096 May 11 14:09 ./
drwxr-xr-x 54 root root 4096 Nov 3 2025 ../
-rw-r----- 1 mysql mysql 56 Oct 27 2025 auto.cnf
-rw-r----- 1 mysql mysql 157 May 10 11:43 binlog.000102
-rw-r----- 1 mysql mysql 180 May 10 11:43 binlog.000103
-rw-r----- 1 mysql mysql 180 May 10 11:53 binlog.000104
-rw-r----- 1 mysql mysql 637 May 10 11:58 binlog.000105
-rw-r----- 1 mysql mysql 602 May 10 12:04 binlog.000106
-rw-r----- 1 mysql mysql 180 May 10 12:48 binlog.000107
-rw-r----- 1 mysql mysql 1957657 May 11 00:00 binlog.000108
-rw-r----- 1 mysql mysql 157 May 11 00:00 binlog.000109
-rw-r----- 1 mysql mysql 128 May 11 00:00 binlog.index
-rw------- 1 mysql mysql 1705 Oct 27 2025 ca-key.pem
-rw-r--r-- 1 mysql mysql 1112 Oct 27 2025 ca.pem
-rw-r--r-- 1 mysql mysql 1112 Oct 27 2025 client-cert.pem
-rw------- 1 mysql mysql 1705 Oct 27 2025 client-key.pem
-rw-r--r-- 1 root root 0 Oct 27 2025 debian-5.7.flag
-rw-r----- 1 mysql mysql 196608 May 11 00:00 '#ib_16384_0.dblwr'
-rw-r----- 1 mysql mysql 8585216 Oct 27 2025 '#ib_16384_1.dblwr'
-rw-r----- 1 mysql mysql 3454 May 10 12:48 ib_buffer_pool
-rw-r----- 1 mysql mysql 12582912 May 11 00:00 ibdata1
-rw-r----- 1 mysql mysql 12582912 May 10 12:48 ibtmp1
drwxr-x--- 2 mysql mysql 4096 May 10 13:53 '#innodb_redo'/
drwxr-x--- 2 mysql mysql 4096 May 10 12:48 '#innodb_temp'/
drwxr-x--- 2 mysql mysql 4096 Oct 27 2025 mysql/
-rw-r----- 1 mysql mysql 14 May 11 14:09 mysqld-auto.cnf
-rw-r----- 1 mysql mysql 26214400 May 10 13:54 mysql.ibd
drwxr-x--- 2 mysql mysql 4096 May 10 13:54 mysqlslap/
drwxr-x--- 2 mysql mysql 4096 Oct 27 2025 performance_schema/
-rw------- 1 mysql mysql 1705 Oct 27 2025 private_key.pem
-rw-r--r-- 1 mysql mysql 452 Oct 27 2025 public_key.pem
-rw-r--r-- 1 mysql mysql 1112 Oct 27 2025 server-cert.pem
-rw------- 1 mysql mysql 1705 Oct 27 2025 server-key.pem
drwxr-x--- 2 mysql mysql 4096 Oct 27 2025 sys/
drwxr-x--- 2 mysql mysql 4096 Oct 27 2025 TestDB/
-rw-r----- 1 mysql mysql 16777216 May 10 13:55 undo_001
-rw-r----- 1 mysql mysql 16777216 May 10 13:55 undo_002
-rw-r----- 1 mysql mysql 8 May 10 12:48 yudukai.pid
root@yudukai:/var/lib/mysql#
- 数据目录下的每个子目录都是一个数据库目录,对应服务器管理的一个数据库,包括
MySQL安装成功后创建的标准数据库:
mysql目录对应于mysql系统库,包含mysql服务器运行时所需的信息,该数据库包含数据字典表和系统表;performance_schema目录对应于Performance Schema,提供了在运行时用于检查服务器内部执行的信息;sys目录对应于sys系统库,提供一组对象来帮助解释性能模式相关信息;- 其他子目录对应于用户或应用程序创建的数据库,也就是说我们每创建一个数据库,就会在数据目录生成一个同名的目录来保存对应的数据。
- 服务器写入的日志文件
InnoDB表空间和日志文件- 默认或自动生成的
SSL和RSA证书和密钥文件- 服务器进程
ID文件(当服务器运行时)mysqld-auto.cnf文件用来存储持久化全局系统变量设置
通过选项重新配置服务器,可以将上述某些项目重新定位到指定目录。使用
--datadir选项允许更改数据目录本身的位置。

3. 日志简介
MySQL Server有以下几种日志,可以记录服务器正在发生的活动。
| 日志类型 | 日志信息 |
|---|---|
错误日志 (Error log) |
mysqld在启动、运行或停止时遇到的问题 比如:启动失败,运行时崩溃 |
一般查询日志 (General query log) |
已建立的客户端连接和从客户端接收到的语句 一般不开启 |
慢查询日志 (Slow query log) |
执行时间超过 long_query_time 指定秒数的查询 优化的时候查询 |
二进制日志 (Binary log) |
更改数据的语句(也用于主从复制) |
中继日志 (Relay log) |
从源服务器接收到的数据更改 来源于集群中的主服务器 |
DDL日志(metadata log) |
DDL 语句执行的操作 |
回滚日志/撤销日志(undo log) |
用于事务的回滚操作 回滚的时候会根据日志里记录的依次回滚 |
重做日志(redo log) |
用于服务器崩溃恢复 服务器崩溃的时候,把日志中没执行的继续执行 |
- 默认情况下,除
Windows上的错误日志外,不启用任何日志,Linux下默认开启错误日志和二进制日志- 在服务器运行期间可以控制一般查询和慢查询日志的禁用与开启,也可以更改日志文件名
- 一般查询日志和慢查询日志记录可以写入日志表、日志文件或两者同时写入
- 默认情况下,所有启用的日志将写入数据目录,可以通过刷新日志强制服务器关闭并重新打开日志文件
- 通过
FLUSH LOGS语句刷新日志来强制服务器关闭并重新打开日志文件,也可以使用mysqladmin的flush-logs或refresh参数,或mysqldump的--flush-logs或--master-data选项- 中继日志仅用于主从复制过程中的从服务器。
3.1 一般查询日志和慢查询日志的输出形式
如果启用一般查询日志和慢查询日志,日志的输出方式可以指定为日志文件或
mysql系统库中的general_log和slow_log表,也可以两者同时指定。
3.1.1 启动时的日志控制
log_output系统变量指定日志输出的形式,但并不会真正的启用日志。
log_output可以有三个值,分别是:TABLE(表)、FILE(文件)、NONE(不输出)可以同时指定多个值,并用逗号隔开,未指定值时默认是
FILE,如果列表中存在NONE则其他的不生效,也就是说NONE的优先级最高。通过设置
general_log系统变量的值来控制一般查询日志的 开启1与 禁用0(用0和1来控制开启和禁用) ,如果要为日志指定自定义的路径或文件名可以使用general_log_file系统变量(绝对路径)通过设置
slow_query_log系统变量的值来控制慢查询日志的 开启1与 禁用0,如果要为日志指定自定义的路径或文件名可以使用slow_query_log_file系统变量(绝对路径)一般查询日志记录了所有的查询语句,慢查询日志可以说是一般查询日志的子集
示例,以选项文件中的配置为例:
没开启的话,一般查询日志默认在:

慢查询日志默认在:

将一般查询日志写入日志表和日志文件:
mysql
[mysqld]
#日志写入表和文件
log_output=TABLE,FILE
#开启一般查询日志
general_log=1
仅将一般查询日志和慢查询日志写入日志表:
mysql
[mysqld]
log_output=TABLE #日志写入表
general_log=1 #开启一般查询日志
slow_query_log=1 #开启慢查询日志
仅将慢查询日志写入日志文件:
mysql
[mysqld]
log_output=FILE #日志文件
slow_query_log=1 #开启慢查询日志
- 将一般查询日志和慢查询日志写入日志文件,并指定自定义的日志路径(修改路径,可能涉及到权限问题,需要修改权限)
mysql
[mysqld]
#日志文件
log_output=FILE
#开启一般查询日志
general_log=1
#指定自定义的文件名
general_log_file=/var/lib/mysql/general.log
#开启慢查询日志
slow_query_log=1
#指定自定义的文件名
slow_query_log_file=/var/lib/mysql/slow_query.log
也有专属的可以单独修改一般查询日志和慢查询日志的输出形式,可以覆盖
log_output,达到两者选择不同日志输出形式的效果。
mysql
[mysqld]
# 开启一般查询日志(记录所有到达MySQL服务器的SQL语句)
# 1 表示开启,0 表示关闭
general_log = 1
# 设置一般查询日志的输出目标仅为"文件"
# 这是一个"专属覆盖"变量,它会让一般查询日志忽略下面 log_output 的设置,只写文件
general_log_output = FILE
# 开启慢查询日志(记录执行时间超过指定阈值的SQL语句)
# 1 表示开启,0 表示关闭
slow_query_log = 1
# 设置慢查询的时间阈值(单位:秒)
# 执行时间超过 2 秒的查询将被记录到慢查询日志中
long_query_time = 2
# 全局日志输出目标控制
# 设置为 'FILE,TABLE' 表示日志同时输出到文件和表中
# 注意:因为上面 general_log_output 已经把一般查询日志"拦截"并强制只写 FILE,
# 所以这个 log_output = FILE,TABLE 实际上只对慢查询日志生效,
# 最终效果:慢查询日志会同时写入文件和 mysql.slow_log 表中。
log_output = FILE,TABLE
修改查询日志文件名:
一般查询日志文件路径,名:
var/lib/mysql/general.log慢查询日志文件路径,名:
var/lib/mysql/slow_query.log每次修改前,最好选项名都去官方文档查一下是否有,不然服务器可能起不来,哪怕麻烦也要去验证。
mysql
# MySQL 服务节点
[mysqld]
# MySQL 服务启动后监听的端口号
port=3306
# 数据目录的路径,这里演示的是windows下的配置,注意分隔符用/,如果是\则需要转义为\\.
# 把原data目录整体复制到新路径
# datadir=写具体的实现目录
# MySQL 服务器的字符集与排序规则
character_set_server=utf8mb4
collation_server=utf8mb4_general_ci
# 新建表时使用的存储引擎,windows下已默认配置
default_storage_engine=INNODB
# 时区
default-time-zone='+8:00'
# ################# 日志相关 #################
#日志文件
log_output=FILE,TABLE
#开启一般查询日志
general_log=1
#指定自定义的文件名
general_log_file=/var/lib/mysql/general.log
#开启慢查询日志
slow_query_log=1
#指定自定义的文件名
slow_query_log_file=/var/lib/mysql/slow_query.log
#错误日志的路径
log-error=/var/log/mysql/error.log

修改后重启一下MySQL服务器,然后看一下状态:

看一下是否配置成功:

3.1.2 运行时的日志控制
- 在运行时修改
log_output的值,以更改日志的输出形式,通过语句控制- 语法:
SET [GLOBAL|SESSION] variable_name=value
mysql
SET GLOBAL log_output=[FILE, TABLE, NONE]
general_log[={0|1}]和slow_query_log[={0|1}]可以表示启用和禁用一般查询日志和慢查询日志
general_log_file和slow_query_log_file表示通用查询日志和慢查询日志文件名称只对当前会话禁用或启用一般查询日志记录,将
SESSION作用域的sql_log_off变量设置为ON或OFF
3.1.3 使用日志表优点
- 可以通过
SQL语句的条件查询过滤日志内容,从而选择满足特定条件的日志记录。比如,某个客户端的日志;- 可以通过客户端程序连接到服务器并查询表中的日志信息,无需登录服务器主机访问文件系统。
- 日志记录具有标准格式,可看日志表的结构,可以使用以下语句:
mysql
SHOW CREATE TABLE mysql.general_log; # 一般查询日志
SHOW CREATE TABLE mysql.slow_log; # 慢查询日志

3.2 一般查询日志
General query log一般查询日志,记录客户端连接或断开连接的信息,也会记录从客户端接收的每个SQL语句。如果开启将会产生大量的内容,非常耗费服务器资源,所以默认为关闭(不开启),要启用一般查询日志可以使用:请使用--general_log[={0|1}]- 默认日志文件名为
host_name.log,可以使用general_log_file=file_name修改;- 记当客户端连接的日志行,使用
connection_type来指示用于建立连接的协议。TCP/IP表示不使用SSL建立的TCP/IP连接、SSL/TLS表示使用SSL建立的TCP/IP连接、Socket表示Unix套接字文件连接、Named Pipe表示Windows命名管道连接、Shared Memory表示Windows共享内存连接。Mysqld按照接收到SQL语句的顺序将语句写入查询日志,这个顺序可能与语句执行的顺序不同。- 表结构如下:
mysql
mysql> SHOW CREATE TABLE mysql.general_log;
+-------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+-------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| general_log | CREATE TABLE `general_log` (
# 发生时间
`event_time` timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6),
# 用户主机
`user_host` mediumtext NOT NULL,
# 执行当前SQL语句的系统线程ID
`thread_id` bigint unsigned NOT NULL,
# 选项文件中配置的server_id
`server_id` int unsigned NOT NULL,
# 日志的类型
`command_type` varchar(64) NOT NULL,
# 具体的SQL语句
`argument` mediumblob NOT NULL
) ENGINE=CSV DEFAULT CHARSET=utf8mb3 COMMENT='General log' |
+-------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
mysql>
3.2.1 一般查询日志示例
- 查询表中的日志内容
通过正常的SQL语句查询日志:
mysql
mysql> select * from mysql.general_log\G;

可以通过CAST()函数把编码后的内容转换为可读的字符类型,CAST(要转换的内容 AS 目标数据类型)
mysql
# 查看日志
SELECT DATE_FORMAT(event_time, '%Y-%m-%d %H:%i:%s') AS time,
user_host,
thread_id,
server_id,
command_type,
CAST(argument AS CHAR) AS query # query是我们重命名的
FROM mysql.general_log;
查看:执行后,重命名的query字段内容就是我们看得懂的查询语句了

- 查看文件中的日志内容
mysql
root@yudukai:/var/lib/mysql# cat general.log
/usr/sbin/mysqld, Version: 8.0.43-0ubuntu0.22.04.2 ((Ubuntu)). started with:
Tcp port: 3306 Unix socket: /var/run/mysqld/mysqld.sock
Time Id Command Argument
2026-05-12T02:28:32.064395Z 0 Execute CREATE TABLE performance_schema.innodb_redo_log_files(
`FILE_ID` BIGINT NOT NULL COMMENT 'Id of the file.',
`FILE_NAME` VARCHAR(2000) NOT NULL COMMENT 'Path to the file.',
`START_LSN` BIGINT NOT NULL COMMENT 'LSN of the first block in the file.',
`END_LSN` BIGINT NOT NULL COMMENT 'LSN after the last block in the file.',
`SIZE_IN_BYTES` BIGINT NOT NULL COMMENT 'Size of the file (in bytes).',
`IS_FULL` TINYINT NOT NULL COMMENT '1 iff file has no free space inside.',
`CONSUMER_LEVEL` INT NOT NULL COMMENT 'All redo log consumers registered on smaller levels than this value, have already consumed this file.'
)engine = 'performance_schema'
2026-05-12T02:29:48.858863Z 8 Connect root@localhost on using SSL/TLS
2026-05-12T02:29:48.859340Z 8 Query select @@version_comment limit 1
2026-05-12T02:43:25.965362Z 8 Quit
2026-05-12T06:20:40.287685Z 9 Connect root@localhost on using SSL/TLS
2026-05-12T06:20:40.288169Z 9 Query select @@version_comment limit 1
2026-05-12T06:20:48.451424Z 9 Query show variables like 'log_output'
2026-05-12T06:21:27.575631Z 9 Query show variables like 'slow_query_log'
2026-05-12T06:22:39.095475Z 9 Query show variables like 'general_log'
2026-05-12T06:23:10.990197Z 9 Query show variables like 'general_log_file'
2026-05-12T06:23:26.932568Z 9 Query show variables like 'slow_log_file'
2026-05-12T06:23:37.434868Z 9 Query show variables like 'slow_queue_log_file'
2026-05-12T06:23:45.749492Z 9 Query show variables like 'slow_query_log_file'
2026-05-12T06:31:59.999605Z 9 Query SHOW CREATE TABLE mysql.general_log
2026-05-12T06:32:42.687679Z 9 Query SHOW CREATE TABLE mysql.slow_log
2026-05-12T06:45:19.107188Z 9 Query select * from mysql.general_log
2026-05-12T06:45:30.884729Z 9 Query select * from mysql.general_log
2026-05-12T06:52:08.881959Z 9 Query SELECT DATE_FORMAT(event_time, '%Y-%m-%d %H:%i:%s') AS time,
user_host,
thread_id,
server_id,
command_type,
CAST(argument AS CHAR) AS query
FROM mysql.general_log
root@yudukai:/var/lib/mysql#
3.3 慢查询日志
慢查询日志由执行时间超过系统变量
long_query_time指定的秒数的SQL语句组成(例如:10s),并且检查的行数大于系统变量min_examined_row_limit指定值(查询语句返回的结果集中所包含的行数,例如10行)。想要被慢查询记录需要同时满足超过
10s和10行。被记录的慢查询需要进行优化,可以使用
mysqldumpslow客户端程序对慢日志进行分析汇总。获取初始锁的时间不计入执行时间,
mysqld在执行完SQL语句并释放所有锁后才将符合条件的语句写入慢速查询日志,因此日志顺序可能与执行顺序不同。
一个
SQL语句的执行经历的阶段:
- 执行线程要获取锁
- 执行
SQL语句并返回结果- 释放锁
第
1步,如果现场没有获取到锁就阻塞等待。第
2-3步,是慢查询记录真正的执行时间
3.3.1 慢查询日志参数
long_query_time的默认值是10,最小值是0;默认情况下,不记录管理语句(
DDL语句),也不记录不使用索引的查询默认为关闭(不开启),要启用慢查询日志可以使用:请使用
--slow_query_log[={0|1}].默认日志文件名为
host_name-slow.log,可以使用slow_query_log_file=file_name修改;使用
--log-short-format选项,以简要格式记录慢查询日志要记录管理语句,启用
log_slow_admin_statements系统变量。管理语句包括ALTER TABLE 、 ANALYZE TABLE 、 CHECK TABLE 、 CREATE INDEX 、 DROP INDEX 、 OPTIMIZE TABLE和REPAIR TABLE。要记录不使用索引的查询,启用
log_queries_not_using_indexes系统变量。当记录不使用索引的查询时,日志会快速增长,通过设置系统变量log_throttle_queries_not_using_indexes限制每分钟写入慢查询日志同类查询的数量,默认值是0,表示无限制。一定要记住配置一下每分钟记录的日志数。
3.3.2 慢查询日志内容
3.3.2.1 FILE格式
- 如果启用慢查询日志并将
FILE作为输出目标,每条语句前面都用一行来表示日志的字段,该行以#字符开头并包含以下内容:
Query_time:SQL语句的执行时间,单位秒Lock_time: 获取锁的时间,单位秒Rows_sent: 发送到客户端的行数Rows_examined: 服务器检查的行数- 启用
--log-slow-extra[={OFF|ON}]系统变量会将以下额外字段写入到FILE中,TABLE形式不受影响
Thread_id: 线程标识符Errno: 错误码,没有发生错误则为0Killed: 如果语句被终止,用错误码表示原因,如果语句正常终止则为0。Bytes_received: 接收到SQL语句的Bytes值。Bytes_sent: 返回给客户端的Byte值。Read_first: 索引中第一个条目被读取的次数,如果这个值很高,表明服务器正在执行大量完整索引扫描Read_last: 读取索引中最后一个键的请求数,使用ORDER BY时关注Read_key: 基于索引读取一行数据的请求数。如果这个值很高,表明表为当前查询建立了正确的索引Read_next: 按索引排序读取下一行的请求数,查询具有范围约束的索引列,或者进行索引扫描,此值将递增。Read_prev: 按索引排序读取前一行的请求数。主要用于优化ORDER BY...DESC。Read_rnd: 基于固定位置读取一行的请求数。这个值很高表示,正在执行大量需要对结果进行排序的查询,可能有很多查询进行了全表扫描整,或者没有正确使用索引的连接。Read_rnd_next: 读取数据文件中下一行的请求数。如果进行大量的表扫描,这个值会很高。通常,表示表没有建立正确地索引,或者查询没有利用索引。Sort_merge_passes: 排序算法完成的归并次数,如果这个值很大,考虑增加sort_buffer_size系统变量的值。Sort_range_count: 使用范围进行排序的次数。Sort_rows: 排序的行数。Sort_scan_count: 通过扫描表完成的排序数。Created_tmp_disk_tables: 服务器在执行语句时创建内部磁盘临时表的数量。Created_tmp_tables: 服务器在执行语句时创建的内部临时表的数量。Start: 执行SQL语句开始时间End: 执行SQL语句结束时间
3.3.2.2 TABLE格式
慢查询日志表的表结构如下:
mysql
mysql> SHOW CREATE TABLE mysql.slow_log;
+----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+
| slow_log | CREATE TABLE `slow_log` (
`start_time` timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6),# 开始时间
`user_host` mediumtext NOT NULL,# 用户和所在的主机
`query_time` time(6) NOT NULL,# 查询总耗时
`lock_time` time(6) NOT NULL,# 争抢MySQL级别的锁的时间
`rows_sent` int NOT NULL,# 返回客户端结果集中数据行的数量
`rows_examined` int NOT NULL,# 服务器扫描表中数据行的数量
`db` varchar(512) NOT NULL,# 数据库名
`last_insert_id` int NOT NULL,# 最后一次插入
`insert_id` int NOT NULL,# 插入的记录id
`server_id` int unsigned NOT NULL,# 选项文件中配置的server_id
`sql_text` mediumblob NOT NULL,# 具体执行的SQL语句
`thread_id` bigint unsigned NOT NULL# 执行线程的id
) ENGINE=CSV DEFAULT CHARSET=utf8mb3 COMMENT='Slow log' |
+----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
mysql>
建议使用日志文件的方式记录慢查询日志。
3.3.3 慢查询日志示例
以
#开头的三行,表示日志的开始
mysql
Time Id Command Argument
# Time: 2023-10-22T03:34:57.593209Z
# User@Host: root[root] @ localhost [::1] Id: 10
# Query_time: 24.224840 Lock_time: 24.201250 Rows_sent: 0 Rows_examined: 1
use test_db;
SET timestamp=1697945673;
UPDATE ACCOUNT SET NAME='张三' where id = 1;
# Time: 2023-10-22T03:35:31.918024Z
# User@Host: root[root] @ localhost [::1] Id: 9
# Query_time: 19.012846 Lock_time: 19.012325 Rows_sent: 1 Rows_examined: 1
SET timestamp=1697945712;
select * from account where id < 2 FOR SHARE;
# Time: 2023-10-22T04:20:40.347153Z
# User@Host: root[root] @ localhost [::1] Id: 10
# Query_time: 50.412714 Lock_time: 50.411844 Rows_sent: 0 Rows_examined: 0
SET timestamp=1697948389;
UPDATE ACCOUNT SET NAME='张三' where id = 1;
# Time: 2023-10-22T09:27:02.918811Z
# User@Host: root[root] @ localhost [::1] Id: 10
# Query_time: 50.482737 Lock_time: 50.480508 Rows_sent: 0 Rows_examined: 0
SET timestamp=1697966772;
INSERT INTO child (id) VALUES (101);