1、Master服务器配置。
[root@localhost ~]# vim /etc/my.cnf log-bin=master-binlog-bin-index=master-bin.indexinnodb_file_per_table = 1binlog_format=mixedserver-id = 1 #必须是唯一值sync_binlog=1 #设置主从同步二进制日志文件mysql> GRANT REPLICATION SLAVE ON *.* TO 'repluser'@'172.16.%.%' IDENTIFIED BY 'replpass';mysql> flush privileges;mysql> SHOW MASTER STATUS\G;mysql> show binlog events in 'master-bin.000003'; #查看二进制日志事务
2、Slave服务器配置。
[root@localhost ~]# vim /etc/my.cnf relay-log = relay-logserver-id = 2relay-log-index = relay-log.indexread-only = on #数据库只读锁定,不影响主从复制skip_slave_start=1 #禁止slave随数据库启动mysql> CHANGE MASTER TO MASTER_HOST='172.16.23.22',MASTER_LOG_FILE='master-bin.000001', \MASTER_USER='repluser',MASTER_PASSWORD='replpass',MASTER_LOG_POS=4;mysql> HELP CHANGE MASTER TO #查看命令用法mysql> SHOW SLAVE STATUS\G; #查看状态mysql> START SLAVE; #启动slave服务mysql> START SLAVE IO_THREAD; #依次启动slave服务mysql> START SLAVE SQL_THREAD; mysql> show global variables like 'read%'; #查看全局变量验证只读锁定mysql> set global read_only=off; #临时修改系统变量[root@localhost ~]# cat /datadir/master.info #文件记录了master的连接帐号信息[root@localhost ~]# cat /datadir/relay-log.info #文件记录了中继日志的信息
3、主从复制故障处理。
1)主从同步出现异常语句跳过处理
mysql> stop slavemysql> set global sql_slave_skip_counter=1; #跳过一个事务mysql> start slave;