环境:8.0.27 MySQL Community Server, CentOS7
general log
general log 记录了 MySQL 服务器响应的所有 SQL 语句信息。该日志默认是关闭的,首先开启 general log。
mysql> show variables like '%general_log%';
+------------------+----------------------------------+
| Variable_name | Value |
+------------------+----------------------------------+
| general_log | OFF |
| general_log_file | /var/lib/mysql/VM-0-2-centos.log |
+------------------+----------------------------------+
mysql> set global general_log = ON;
创建测试数据库和测试表
mysql> create database db1;
mysql> use db1;
mysql> create table `t1` ( `name` varchar(255) ) ENGINE=MyISAM;
mysql> insert into t1 values ('shishc');
mysql> create table `t2` ( `name` varchar(255) ) ENGINE=InnoDB;
mysql> insert into t2 values ('shishc2');
开始备份
mysqldump -uroot -p --skip-opt --default-character-set=utf8 --single-transaction --master-data=2 --no-autocommit -B db1 > /root/backup.sql
参数的解释:
--single-transaction
:一致性备份。在单次事务中通过 dump 所有表来创建的一致性快照,只支持[支持多版本]的存储引擎,目前只有 InnoDB
。(写的有点拗口)
master-data=2
:要求 dump 结果中以注释的形式保存备份时的 binlog 位置信息。
-B
:后面指定数据库名称。
mysqldump_手册 参数更详细的含义请参考手册或者使用 mysqldump --help
。
执行完成后,查看 general log。general log 中记录了所有传给 server 的指令。
注:通过 # 将下方日志划分为几个模块
#1
Connect root@localhost on using Socket
Query /*!40100 SET @@SQL_MODE='' */
Query /*!40103 SET TIME_ZONE='+00:00' */
Query /*!80000 SET SESSION information_schema_stats_expiry=0 */
Query SET SESSION NET_READ_TIMEOUT= 86400, SESSION NET_WRITE_TIMEOUT= 86400
#2
Query FLUSH /*!40101 LOCAL */ TABLES
Query FLUSH TABLES WITH READ LOCK
#3
Query SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ
Query START TRANSACTION /*!40100 WITH CONSISTENT SNAPSHOT */
#4
Query SHOW VARIABLES LIKE 'gtid\_mode'
Query SHOW MASTER STATUS
#5
Query UNLOCK TABLES
Query SELECT LOGFILE_GROUP_NAME, FILE_NAME, TOTAL_EXTENTS, INITIAL_SIZE, ENGINE, EXTRA FROM INFORMATION_SCHEMA.FILES WHERE FILE_TYPE = 'UNDO LOG' AND FILE_NAME IS NOT NULL AND LOGFILE_GROUP_NAME IS NOT NULL AND LOGFILE_GROUP_NAME IN (SELECT DISTINCT LOGFILE_GROUP_NAME FROM INFORMATION_SCHEMA.FILES WHERE FILE_TYPE = 'DATAFILE' AND