一、实现mysql的a-b-b结构
先说ab结构
1
master:
vim /etc/my.cnf
[mysqld]
server_id = 1
slave:
vim /etc/my.cnf
[mysqld]
server_id = 2
2
master:
vim /etc/my.cnf
[mysqld]
server_id = 1
log-bin=binlog
log-bin-index=binlog.index
3
slave:
vim /etc/my.cnf
[mysqld]
server_id = 2
relay_log = /var/lib/mysql/mysql-relay-bin
relay_log_index=/var/lib/mysql/mysql-relay-bin.index
4
master && slave
service mysqld restart
5
master:
mysql> GRANT replication slave ON *.* TO 'username'@'%' identified by 'passwd';
Query OK, 0 rows affected (0.05 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
##################################################
slave:
cd /var/lib/mysql
rm -fr *
service mysqld restart
master
mysqldump -A -x > /tmp/full.sql
scp /tmp/full.sql root@salveip:/tmp/
slave:
mysql < /tmp/full.sql
********************6******************************
master:
mysql> flush tables with read lock;
mysql> show master status;
+---------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+---------------+----------+--------------+------------------+
| binlog.000003 | 295 | | |
mysql>unlock tables;
6
slave:
mysql> change master to master_host='master的IP地址', master_port=3306, master_user='username', master_password='passwd', master_log_file='binlog.000003',master_log_pos=295;
mysql> start slave;
7
slave:
mysql> show slave status \G
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
至此ab结构就配置完成了
A-B-B主从配置
原理依然是基于最普通的master-slave。就再增加一台slave服务器,即可。
A-B-C主从配置
原理依然是基于最普通的master-slave。 首先建立A-B之间的master-slave。然后建立B-C之间的master-slave, 需要注意的是必须在B的my.cnf配置中加上 log-slave-updates=1,这是为了将中继日志接收到的信息复制到本地的binlog,这样C才能收到更新信息。
转载于:https://blog.51cto.com/hyrieshu/1076736