DBAの私の最初の...
マスターMySQLサーバー5.5を5.6.17(CentOS 6 VPSサーバー)に正常にアップグレードした後、バイナリバックアップを完了してスレーブサーバーに移動しました(同じバージョン5.6.17ですが、Jelasticの環境は異なります)。バイナリバックアップは、Percona Xtrabackup 2.1.7と準備を使用して行われました。どちらのシステムもx86_64 GNU/Linuxです
バイナリバックアップを/var/lib/mysql
に復元してMySQLを起動した後、MySQLログから次のエラーが表示されて歓迎されました。
140725 15:02:11 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
2014-07-25 15:02:13 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2014-07-25 15:02:13 11854 [Note] Plugin 'FEDERATED' is disabled.
2014-07-25 15:02:13 11854 [Note] InnoDB: Using atomics to ref count buffer pool pages
2014-07-25 15:02:13 11854 [Note] InnoDB: The InnoDB memory heap is disabled
2014-07-25 15:02:13 11854 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2014-07-25 15:02:13 11854 [Note] InnoDB: Compressed tables use zlib 1.2.3
2014-07-25 15:02:13 11854 [Note] InnoDB: Using Linux native AIO
2014-07-25 15:02:13 11854 [Note] InnoDB: Using CPU crc32 instructions
2014-07-25 15:02:13 11854 [Note] InnoDB: Initializing buffer pool, size = 128.0M
2014-07-25 15:02:13 11854 [Note] InnoDB: Completed initialization of buffer pool
2014-07-25 15:02:13 11854 [ERROR] InnoDB: Only one log file found.
2014-07-25 15:02:13 11854 [ERROR] Plugin 'InnoDB' init function returned error.
2014-07-25 15:02:13 11854 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
2014-07-25 15:02:13 11854 [ERROR] Unknown/unsupported storage engine: InnoDB
2014-07-25 15:02:13 11854 [ERROR] Aborting
2014-07-25 15:02:13 11854 [Note] Binlog end
2014-07-25 15:02:13 11854 [Note] Shutting down plugin 'partition'
これはls /var/lib/mysql
です
backup-my.cnf
ibdata1
ib_logfile0
xtrabackup_binary
xtrabackup_binlog_info
xtrabackup_binlog_pos_innodb
xtrabackup_checkpoints
mysql
.... OTHER DATABASE FOLDERS .....
これは非常に奇妙なことで、以前は5.5> 5.5のレプリケーションをまったく同じように設定していたときに完全にうまく機能していました。
なぜ今5.6で失敗するのですか?それの意味:[エラー] InnoDB:ログファイルが1つしか見つかりません "さらに、マスターでib_logfile0
を確認できますおよびib_logfile1
ですが、Xtrabackupはib_logfile0
のみを提供します
Innodb=ON
を使用してmy.cnfでInnoDBを明示的に有効にしてみました編集:質問に答える:
バックアップに使用している実際の回線?
ulimit -n 10240 && Sudo -u mysql \
/bin/sh -c "cd /var/lib/mysql && /usr/bin/innobackupex \
--user=${MYSQL_BACKUP_USER} --password=${MYSQL_BACKUP_PASS} \
--lock-wait-query-type=update --lock-wait-timeout=300 \
--kill-long-query-type=select --kill-long-queries-timeout=10 \
--rsync --slave-info --safe-slave-backup ${XB_TARGET_DIR}"
/ usr/bin/innobackupex --version
InnoDB Backup Utility v1.5.1-xtrabackup;
猫xtrabackup_binary
xtrabackup_56
猫のバックアップ-my.cnf
# This MySQL options file was generated by innobackupex.
# The MySQL server
[mysqld]
innodb_checksum_algorithm=innodb
innodb_log_checksum_algorithm=innodb
innodb_data_file_path=ibdata1:10M:autoextend
innodb_log_files_in_group=2
innodb_log_file_size=50331648
innodb_fast_checksum=0
innodb_page_size=16384
innodb_log_block_size=512
innodb_undo_tablespaces=0
Datadirの外部にログファイルがありますか?
No, log files are within the datadir
innobackupex --apply-log
が正常に実行されたとすると、構成に問題がある(おそらくinnodb_log_files_in_group
が元のサーバーでは1で、復元されたサーバーでは2または設定されていない)か、プロセスのどこかでib_logfile1が失われています。
InnoDBは問題ありませんが、ディスク上でファイル上とは異なる構成を検出すると失敗するのが普通です。
Xtrabackup/innobackupexはデータファイルのみをコピーし、/etc/my.cnf
はコピーしないことに注意してください。
最終的な回答:apply-logは正常に実行されていませんでした-ロギング中にエラーが隠されていました。実際のエラーは、Percona XtraBackupの古いバージョンの 特定のバグ が原因でした。 2.1.8以上の新しいバージョンにアップデートすると修正されます。