mysql 互为主从复制常见问题

 

报错: 1) change master导致的: Last_IO_Error: error connecting to master - retry-time: 60 retries 2) 在没有解锁的情况下停止slave进程: stop slave; ERROR 1192 (HY000): Cant execute the given command because you have active locked tables

 

执行:stop slave

 

报错:

1)

change master导致的:

              Last_IO_Error: error connecting to master - retry-time: 60  retries

2)    

在没有解锁的情况下停止slave进程:

     > stop slave;

ERROR 1192 (HY000): Can't execute the given command because you have active locked tables or an active transaction

3)

change master语法错误,落下逗号

mysql> change master to

    -> master_host='IP'

    -> master_user='USER',

    -> master_password='PASSWD',

    -> master_log_file='mysql-bin.000002',

    -> master_log_pos=106;

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'master_user='USER',

master_password='PASSWD',

master_log_file='mysql-bin.000002' at line 3

 

4)

在没有停止slave进程的情况下change master

mysql> change master to master_host=‘IP', master_user='USER', master_password='PASSWD', master_log_file='mysql-bin.000001',master_log_pos=106;

ERROR 1198 (HY000): This operation cannot be performed with a running slave; run STOP SLAVE first

 

5)

A B的server-id相同:

Last_IO_Error: Fatal error: The slave I/O thread stops because master and slave have equal MySQL server ids;

these ids must be different for replication to work (or the --replicate-same-server-id option must be used on

slave but this does not always make sense; please check the manual before using it).

查看server-id

mysql> show variables like 'server_id';

手动修改server-id

mysql> set global server_id=2; #此处的数值和my.cnf里设置的一样就行

mysql> slave start;

6)change master之后,查看slave的状态,发现slave_IO_running 为NO

需要注意的是,做完上述操作之后最后重启mysql进程