背景“:在线将数据库目录迁移到k另一个目录后启动slave进程报错:
start slave;
ERROR 1872 (HY000): Slave failed to initialize relay log info structure from the repository
解决办法:
-
修改index文件和info文件
-
index里面的记录是原来的目录的
-
[root@Yun-MySQL02 3306]# more mysqlrelay.index
/data/mydata/3306/mysqlrelay.000006 ---修改为新的中继日志目录即可
/databak/3306/mysqlrelay.000007
/databak/3306/mysqlrelay.000008
/databak/3306/mysqlrelay.000009
/databak/3306/mysqlrelay.000010
-
[root@Yun-MySQL02 3306]# more relay-log.info
7
/databak/3306/mysqlrelay.000007 ----修改为新的中继日志目录
29378841
mysql-bin.000051
706927394
0
0
1
注意:有可能有的环境找不到relay-log.info,那是因为参数设置的原因
-
在MySQL 5.6.2之前,slave记录的master信息以及slave应用binlog的信息存放在文件中,即master.info与relay-log.info。在5.6.2版本之后,允许记录到table中,参数设置如下:
-
master-info-repository = TABLE ---FILE表示以文件方式
-
relay-log-info-repository = TABLE ---FILE表示以文件方式
-
对应的表分别为mysql.slave_master_info与mysql.slave_relay_log_info,且这两个表均为innodb引擎表。
-
-
-
mysql> select * from mysql.slave_master_info\G:
-
*************************** 1. row ***************************
-
Number_of_lines: 23
-
Master_log_name: mysql-bin.000129
-
Master_log_pos: 760146983
-
Host: 192.168.10.1
-
User_name: repl
-
User_password: aaafdffdgbh_$3KFUH
-
Port: 3307
-
Connect_retry: 60
-
Enabled_ssl: 0
-
Ssl_ca:
-
Ssl_capath:
-
Ssl_cert:
-
Ssl_cipher:
-
Ssl_key:
-
Ssl_verify_server_cert: 0
-
Heartbeat: 1800
-
Bind:
-
Ignored_server_ids: 0
-
Uuid: 6c8a10ed-ed0b-11e4-91eb-00163ec546aa
-
Retry_count: 86400
-
Ssl_crl:
-
Ssl_crlpath:
-
Enabled_auto_position: 1
-
1 row in set (0.07 sec)
mysql> show variables like 'relay%';
+---------------------------+--------------------------------+
| Variable_name | Value |
+---------------------------+--------------------------------+
| relay_log | /databak/3306/mysqlrelay |
| relay_log_basename | /databak/3306/mysqlrelay |
| relay_log_index | /databak/3306/mysqlrelay.index |
| relay_log_info_file | relay-log.info |
| relay_log_info_repository | FILE |
| relay_log_purge | ON |
| relay_log_recovery | OFF |
| relay_log_space_limit | 0 |
+---------------------------+--------------------------------+