作者:爱文小宝的贇 | 来源:互联网 | 2017-05-12 15:45
mysql CHANGE MASTER TO MASTER_HOST='server1', - MASTER_USER='repl', - MASTER_PASSWORD='p4ssword', - MASTER_LOG_FILE='mysql-bin.000001', - MASTER_LOG_POS=0; MASTER_LOG_POS 的为 0 ,因为它是日志的开始位置。 你可以用 SHOW SLAVE STATUS 语句查
mysql> CHANGE MASTER TO MASTER_HOST='server1',
->
MASTER_USER='repl',
->
MASTER_PASSWORD='p4ssword',
->
MASTER_LOG_FILE='mysql-bin.000001',
-> MASTER_LOG_POS=0;
MASTER_LOG_POS的值为0,因为它是日志的开始位置。
你可以用SHOW SLAVE STATUS语句查看slave的设置是否正确:
mysql> SHOW SLAVE STATUS\G
*************************** 1. row ***************************
Slave_IO_State:
Master_Host: server1
Master_User: repl
Master_Port: 3306
Connect_Retry: 60
Master_Log_File:
mysql-bin.000001
Read_Master_Log_Pos:
4
Relay_Log_File:
mysql-relay-bin.000001
Relay_Log_Pos: 4
Relay_Master_Log_File:
mysql-bin.000001
Slave_IO_Running:
No
Slave_SQL_Running:
No
...omitted...
Seconds_Behind_Master:
NULL
Slave_IO_State, Slave_IO_Running, 和Slave_SQL_Running是No
表明slave还没有开始复制过程。日志的位置为4而不是0,这是因为0只是日志文件的开始位置,并不是日志位置。实际上,MySQL知道的第一个事件的位置是4。
为了开始复制,你可以运行:
mysql> START SLAVE;
运行SHOW
SLAVE STATUS查看输出结果:
mysql> SHOW SLAVE STATUS\G
*************************** 1. row ***************************
Slave_IO_State:
Waiting for master to send event
Master_Host: server1
Master_User: repl
Master_Port: 3306
Connect_Retry: 60
Master_Log_File:
mysql-bin.000001
Read_Master_Log_Pos:
164
Relay_Log_File:
mysql-relay-bin.000001
Relay_Log_Pos: 164
Relay_Master_Log_File:
mysql-bin.000001
Slave_IO_Running:
Yes
Slave_SQL_Running:
Yes
...omitted...
Seconds_Behind_Master:
0