mysql-主从复制

实现过程:
(1) master将改变记录到二进制日志(binary log)中(这些记录叫做二进制日志事件,binary log events);
(2) slave将master的binary log events拷贝到它的中继日志(relay log);
(3) slave重做中继日志中的事件,将改变反映它自己的数据。

 

相关命令:

mysql> start slave; #启动slave

mysql> stop  slave; #停止

mysql> show slave status \G; #查看slave状态

mysql> reset slave; #重置slave配置

mysql> show master status; #查看bin-log状态

 

配置实现:

master配置(在my.cnf):

server-id=129

log-bin=mysql-bin

binlog-format=mixed

 

slave配置(在my.cnf

server-id=130

relay-log=mysql-relay

在master上创建账号并授权:

mysql> grant replication client,replication slave on *.* to ‘repl‘@‘172.%.%.%‘ identified by ‘repl‘;

mysql> FLUSH PRIVILEGES;

 

在slave上设置:

mysql> change master to

    -> master_host=‘172.16.24.129‘,

    -> master_user=‘tianbao‘,

    -> master_password=‘tianbao‘,

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

    -> master_log_pos=1099;

mysql> start slave;

 

遇到的问题:

#查看servid和配置文件中是否一致
ERROR 1200 (HY000): The server is not configured as slave; fix in config file or with CHANGE MASTER TO

#重置slave(reset slave),并且从新配置,然后启动slave
ERROR 1201 (HY000): Could not initialize master info structure; more error messages can be found in the MySQL error log

#状态不对。检查授权账号信息,检查日志文件的起始位置master_log_pos是否和master的一致。 show master status 查看bin-log信息
Slave_IO_State: Connecting to master .

 

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。