mysql replication 错误

mysql :Neither --relay-log nor --relay-log-index were used; so replication may break
2011-03-21 15:58

The syntax 'for replication startup options' is deprecated and will be removed in MySQL 5.2. Please use 'CHANGE MASTER' instead

你的配置文件里有某些选项是和5.2版本不兼容的,被mysql屏蔽了,这个不影响同步。

Neither --relay-log nor --relay-log-index were used; so replication may break when this MySQL server acts as a slave and has his hostname changed!! Please use '--relay-log=localhost-relay-bin' to avoid this problem.

由于你的配置文件里面没有 --relay-log或者--relay-log-index,当你的服务器作为slave并且更改主机名的时候,同步会被停止。如果你一直没有改主机名就无所谓

start slave; 报错日志

100607 10:48:47 [ERROR] Failed to open the relay log './localhost-relay-bin.000010' (relay_log_pos 2787)
100607 10:48:47 [ERROR] Could not find target log during relay log initialization
100607 10:48:47 [ERROR] Failed to initialize the master info structure

= = =

原因 :

 同步错误原因已找到

同步日志文件名 默认是使用 主机名 来定义的

今天把主机名 localhost 改成 slave 

所以同步出错 ...

现在定义 mysql 日志名为 slave-relay-bin
relay-log = slave-relay-bin

以后不会出现同样的错误了 

= = =


解决 :

stop slave;

reset slave;

# mysql master 最新状态

change master to
master_host='192.168.0.192',
master_user='username',
master_password='password',
master_port=3306,
master_log_file='log-bin.000017',
master_log_pos=600;

slave start;

还需要在 my.cnf 里面定义 relay-log = slave-relay-bin  (只要不以主机名定义)