收到報警,某個端口備份失敗,查看備份日誌如下,顯示有DDL操作導致的備份中斷,查看當時的二進制日誌,當時執行了一條添加字段的sql語句。目前只能重新執行備份,並修改備份時間,避免再發生類似情況。
MySQL:5.7.11
xtrabackup:2.4.5
查找到官方修復bug的情況:
Running DDL statements on Percona Server 5.7 during the backup process could in some cases lead to failure while preparing the backup. Bug fixed #1555626.
MySQL 5.7 can sometimes skip redo logging when creating an index. If such ALTER TABLE
is being issued during the backup, the backup would be inconsistent. xtrabackup will now abort with error message if such ALTER TABLE
has been done during the backup. Bug fixed #1582345.
所以說這種情況是正常的,應儘量避免在備份時執行這些sql
備份日誌:
InnoDB: Last flushed lsn: 340748764928 load_index lsn 340748904772 # 一個DDL操作已經執行(未記錄redo日誌)。影響到的行可能未落地,PXB不能確保備份的一致性,請重試 [FATAL] InnoDB: An optimized(without redo logging) DDLoperation has been performed. All modified pages may not have been flushed to the disk yet. PXB will not be able take a consistent backup. Retry the backup operation # 斷言失敗 2017-06-01 08:43:19 0x7f396ee27700 InnoDB: Assertion failure in thread 139884650198784 in file ut0ut.cc line 916 # 故意生成一個內存陷阱,使備份中斷 InnoDB: We intentionally generate a memory trap. InnoDB: Submit a detailed bug report to http://bugs.mysql.com. InnoDB: If you get repeated assertion failures or crashes, even InnoDB: immediately after the mysqld startup, there may be InnoDB: corruption in the InnoDB tablespace. Please refer to InnoDB: http://dev.mysql.com/doc/refman/5.7/en/forcing-innodb-recovery.html InnoDB: about forcing recovery. 00:43:19 UTC - xtrabackup got signal 6 ; This could be because you hit a bug or data is corrupted. This error can also be caused by malfunctioning hardware. Attempting to collect some information that could help diagnose the problem. As this is a crash and something is definitely wrong, the information collection process might fail. Thread pointer: 0x0 Attempting backtrace. You can use the following information to find out where mysqld died. If you see no messages after this, something went terribly wrong... stack_bottom = 0 thread_stack 0x10000 /usr/local/xtrabackup/bin/innobackupex(my_print_stacktrace+0x35)[0xd55c45] /usr/local/xtrabackup/bin/innobackupex(handle_fatal_signal+0x273)[0xb0d5a3] /lib64/libpthread.so.0[0x36ac20f710] /lib64/libc.so.6(gsignal+0x35)[0x36abe32625] /lib64/libc.so.6(abort+0x175)[0x36abe33e05] /usr/local/xtrabackup/bin/innobackupex[0x7bfbe5] /usr/local/xtrabackup/bin/innobackupex(_ZN2ib5fatalD1Ev+0xb3)[0x837743] /usr/local/xtrabackup/bin/innobackupex[0x8af4a1] /usr/local/xtrabackup/bin/innobackupex(_Z19recv_parse_log_recsm7store_tb+0x4df)[0x8b20ef] /usr/local/xtrabackup/bin/innobackupex[0x763b60] /usr/local/xtrabackup/bin/innobackupex[0x764176] /usr/local/xtrabackup/bin/innobackupex[0x764523] /lib64/libpthread.so.0[0x36ac2079d1] /lib64/libc.so.6(clone+0x6d)[0x36abee88fd] Please report a bug at https://bugs.launchpad.net/percona-xtrabackup