背景“:在线将数据库目录迁移到k另一个目录后启动slave进程报错:
start slave;
ERROR 1872 (HY000): Slave failed to initialize relay log info structure from the repository
解决办法:
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 |
+---------------------------+--------------------------------+ - 在MySQL 5.6.2之前,slave记录的master信息以及slave应用binlog的信息存放在文件中,即master.info与relay-log.info。在5.6.2版本之后,允许记录到table中,参数设置如下:
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29096438/viewspace-2122680/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29096438/viewspace-2122680/