环境:两台ubuntu 12.04.5 虚拟机 mysql-server-5.5 master (192.168.240.130) slave (192.168.240.129) (1)查看二进制日志是否打开 show variables like 'log_bin'; (2)登录master,开个数据库账户 GRANT REPLICATION SLAVE ON *.* TO 'daxia'@'192.168.240.129' IDENTIFIED BY '123456'; (3)修改master my.cnf文件 server-id = 1 #主机标示,整数 log_bin = /var/log/mysql/mysql-bin.log #确保此文件可写,开启bin-log read-only =0 #读写都可以,也可以不写 binlog-do-db =daixa #需要备份数据,多个写多行,也可以没有 binlog-ignore-db =mysql #不需要备份的数据库,多个写多行,也可以没有 (4)查看主机状态 show master status; (5)配置slave log_bin = /var/log/mysql/mysql-bin.log server_id = 2 log_slave_updates = 1 #将日志写入从服务器的二进制日志 read_only = 1 #只读 (6)让slave链接master (这部分的配置不要放到my.cnf里面) mysql> CHANGE MASTER TO MASTER_HOST='192.168.240.130', -> MASTER_USER='daxia', -> MASTER_PASSWORD='123456', -> MASTER_LOG_FILE='mysql-bin.000001', -> MASTER_LOG_POS=0; MASTER_LOG_POS的值为0,因为它是日志的开始位置 (7)验证是否slave是否开启 SHOW SLAVE STATUSG 如果没有开启可以使用 start slave; (8)查看主从的I/O show processlist G 问题描述 (1)主从不同步的问题; 解决:master是没有问题,查看slave show slave statusG Slave_IO_Running: Yes Slave_SQL_Running: No 解决: stop slave; #表示跳过一步错误,后面的数字可变 set global sql_slave_skip_counter =1; start slave;