【MySQL案例】error.log的Warning:Ifacrashhappensthisconfigurationdoesnotguaranteethattherelaylo(二)

2015-02-02 23:03:05 · 作者: · 浏览: 22
ve_relay_log_info

SHOW SLAVE STATUS

Description

1

Number_of_lines

[None]

Number of lines in the file or rows in the table

2

Relay_log_name

Relay_Log_File

The name of the current relay log file

3

Relay_log_pos

Relay_Log_Pos

The current position within the relay log file; events up to this position have been executed on the slave database

4

Master_log_name

Relay_Master_Log_File

The name of the master binary log file from which the events in the relay log file were read

5

Master_log_pos

Exec_Master_Log_Pos

The equivalent position within the master's binary log file of events that have already been executed

6

Sql_delay

SQL_Delay

The number of seconds that the slave must lag the master

?

设置master_info_repository和relay_log_info_repository参数:

SQL> stop slave;

SQL> set global master_info_repository=table;

SQL> set global relay_log_info_repository=table;

SQL> show variables like '%repository';

+--------------------------------------+---------+

| Variable_name | Value |

+--------------------------------------+---------+

| master_info_repository | TABLE |

| relay_log_info_repository | TABLE |

+--------------------------------------+----------+

查看向Master读取日志的情况:

SQL> select * from slave_master_info;

查看Slave的Relay日志应用情况:

SQL> select * from slave_relay_log_info;

注意:
master.info和relay-log.info内的数据会有一定的延迟,取决于mysql把slave信息刷到硬盘的时间,如果要获得slave的实时信息,可以查询slave_master_info和slave_relay_log_info表,或者执行show slave status查看。

l master-info-repository

master-info-repository={ FILE | TABLE },默认值是FILE,这个参数用于设置Slave节点上把master的信息写入到物理文件中还是写入到mysql. slave_master_info表中。

如果设置为FILE,也是mysql的默认设置,Slave会在datadir/master.info文件中记录master的信息,从MySQL5.6版本开始,建议使用TABLE模式。

l relay-log-info-reposity

relay-log-info-reposity=file|table,默认值是FILE,这个参数用于设置slave节点上把relay-log.info的信息写入到datadir/relay-log.info文件或者mysql. slave_relay_log_info表。

如果设置为FILE,也是mysql的默认设置,Slave会在datadir/master.info文件中记录master的信息,从MySQL5.6版本开始,建议使用TABLE模式。

l relay-log-recovery

relay-log-recover=0|1,默认值是0不开启,该参数用于设置是否开启relay log的自动恢复功能。当开启relay_log_recovery功能,slave数据库在启动的时候,会忽略未被执行的relay log,它会重新连接master获取relay log来进行恢复。

当slave发生宕机的时候,建议开启该功能,可以有效避免slave执行了relay log里面的讹误记录。

如果开启relay_log_recovery功能,必须同时把relay_log_info_reposity设置为TABLE模式。