AB复制也称主从复制---实现在线备份
主从服务器的作用:
1.“准”在线备份
2.负载分担
master -->slave1--slave2
master(binlog)-->slave
1.主从机器使用Mysql版本最好一致。
2.主服务器上必须启用二进制日志,并且server-id的取值要大于从服务器。
3.在主服务器新建一个用于同步binlog的账号
4.在主服务器上导出原始数据到从服务器上
5.在从服务器上指定服务器.指定账号,Binlog名称,binlog起始位置
1.主从机器使用的Mysql版本最好一致.
在这个实例使用都是mysql官方RPM包
2.在主服务器上启用二进制日志,并且server-id的取值要大于从服务器
vim /etc/my.cnf
server-id=1
log-bin=/mysql/logs/mysqld
log-bin-index=/mysql/logs/test_idx
3.在主服务器上新建一个用于同步的数据账号
mysql> grant replication slave,reload,super on *.* to 's_user'@'192.168.0.101' identified by '123'
4.在主服务器上导出原始数据到服务器上
master:
# mysqldump -uroot -puplooking --master-data=2 --all-databases > /opt/slave.sql
# scp /opt/slave.sql 192.168.0.254:/opt
# scp /etc/my.cnf 192.168.0.254:/etc/
slave:
# service mysql start
# mysql < /opt/slave.sql --导入数据
# vim /etc/my.cnf
5.在从服务器上指定主服务器,指定账号,binlog,binlog的起始位置。
mysql> CHANGE MASTER TO
-> MASTER_HOST='192.168.0.123',
-> MASTER_USER='s_use10949r',
-> MASTER_PASSWORD='123',
-> MASTER_PORT=3306,
-> MASTER_LOG_FILE='mysqld.000007',
-> MASTER_LOG_POS='288',
-> MASTER_CONNECT_RETRY=3;
mysql> start slave;
mysql> show slave status \G;
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Master_Log_File: mysqld.000008
Read_Master_Log_Pos: 610
Exec_Master_Log_Pos: 610
主服务器上执行:
mysql> show processlist;