背景: zabbix 數據庫遷移,搭建主從,主是5.6.25,從是5.7.15,流式備份應用 redo.log 以後,change master 和reset slave 時報出以下錯誤mysql
mysql> CHANGE MASTER TO
-> MASTER_HOST='192.168.40.129',
-> MASTER_USER='repl',
-> MASTER_PASSWORD='repl_123',
-> MASTER_PORT=3306,
-> MASTER_LOG_FILE='mysql-bin.000005',
-> MASTER_LOG_POS=749,
-> MASTER_AUTO_POSITION=0;
ERROR 1794 (HY000): Slave is not configured or failed to initialize properly. You must at least set --server-id to enable either a master or a slave. Additional error messages can be found in the MySQL error log.
緣由:從 5.6.25 版本使用 innobackupex 備份,在 5.7.15 版本中應用恢復,在 5.6.25 版本中,主從信息記錄到了文件中,5.7.15 版本中的主從信息記錄的是在表中,因此數據備份後須要對下面幾張表進行重建。sql
--5.6.25 mysql> show variables like '%repository%'; +---------------------------+-------+ | Variable_name | Value | +---------------------------+-------+ | master_info_repository | FILE | | relay_log_info_repository | FILE | +---------------------------+-------+ 2 rows in set (0.00 sec)
--5.7.15 mysql> show variables like '%repository%'; +---------------------------+-------+ | Variable_name | Value | +---------------------------+-------+ | master_info_repository | TABLE | | relay_log_info_repository | TABLE | +---------------------------+-------+ 2 rows in set (0.00 sec)
解決步驟:數據庫
一、drop 備份的 ibd表spa
use mysql
drop table slave_master_info;
drop table slave_relay_log_info;
drop table slave_worker_info;
drop table innodb_index_stats;
drop table innodb_table_stats;
二、重建rest
mysql> source /usr/local/mysql/share/mysql_system_tables.sql
Query OK, 0 rows affected, 1 warning (0.00 sec)
三、重啓數據庫server
[root@zero02 data]# /etc/init.d/mysqld restart
Shutting down MySQL.. [ OK ]
Starting MySQL.. [ OK ]
至此,問題解決,登錄數據庫,從新 change master to 便可!blog
做者:zero_gg 若是你真心以爲文章寫得不錯,並且對你有所幫助,那就不妨小小打賞一下吧,若是囊中羞澀,不妨幫忙「推薦"一下,您的「推薦」和」打賞「將是我最大的寫做動力!it 本文版權歸做者全部,歡迎轉載,但未經做者贊成必須保留此段聲明,且在文章頁面明顯位置給出原文鏈接.io |