重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
实现结构:
成都创新互联公司坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站制作、网站建设、外贸网站建设、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的丛台网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!前提条件,这是全新的安装mysql服务器,已经在运行的mysql需要先做备件,并还原到另外的机子上。
master A:192.168.168.128
master B:192.168.168.129
slave 192.168.168.130
在三台机子上分别安装mysql
[root@yaho ~]# yum install -y mysql mysql-server mysql-dev
修改master A和master B还有slave的配置文件。
[root@yaho ~]#vim /etc/my.cnf
master A: 在[mysqld]内添加(修改)
server-id = 128
log-bin = mysql-bin
sync-binlog = 1
auto_increment_offset = 1 #起始值
auto_increment_increment = 2 #步长
slave-skip-errors=1007,1008 #跳过无法创建数据库错误和无法删除数据库错误,如果所有mysql的数据库都一样,可以不加
# slave-skip-errors=all #跳过所有错误,其实这个参数挺危险的,很容易造成几台mysql数据不一致
log-slave-updates #写入从master复制操作的记录到本地bin-log日志,以实现slave的完整同步(备份)
master B: 在[mysqld]内添加(修改)
server-id = 129
log-bin = mysql-bin
sync-binlog = 1
auto_increment_offset = 2 #起始值
auto_increment_increment = 2 #步长
slave-skip-errors=1007,1008 #跳过无法创建数据库错误和无法删除数据库错误,如果所有mysql的数据库都一样,可以不加
# slave-skip-errors=all #跳过所有错误,其实这个参数挺危险的,很容易造成几台mysql数据不一致
log-slave-updates #写入从master复制操作的记录到本地bin-log日志,以实现slave的完整同步(备份)
slave: 在[mysqld]内添加(修改)
server-id = 130
slave-skip-errors=1007,1008 #跳过无法创建数据库错误和无法删除数据库错误,如果所有mysql的数据库都一样,可以不加
# slave-skip-errors=all #跳过所有错误,其实这个参数挺危险的,很容易造成几台mysql数据不一致
log-slave-updates #写入从master复制操作的记录到本地bin-log日志,以实现slave的完整同步(备份)
3.分别启动3台master的mysql,建立同步用户,并给IP授权,允许远程访问。
[root@yaho ~]#service mysqld start
master A:
mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.2168.129' identified by '123456'; #给master B 授权
master B:
mysql>GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.168.128' identified by '123456'; #给master A授权
mysql>GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.168.130' identified by '123456'; #给slave授权
4.查看master A 和master 的maste 状态信息:
mysql>show master status;
+------------------+----------+
| File | Position |
+------------------+----------+
| mysql-bin.000001 | 106 |
+------------------+----------+
5.连接master,实现主-主-从
master A:
mysql>change master to master_host='192.168.168.129',master_user='repl',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=106;
master B:
mysql>change master to master_host='192.168.168.128',master_user='repl',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=106;
slave:
mysql>change master to master_host='192.168.168.129',master_user='repl',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=106;
6.分别在三台机子上启动slave功能:
mysql>start slave;
mysql>show slave status\G;
如果下面两项都为YES,意味着成功。
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
测试--略:
只需要在随便在哪个master创建一个数据库,然后show一下,如果另外两个mysql都有这个数据库,则意味成功。
注意:如果mysqld启动不起来,可以先注释 log-slave-updates 这行,当主从建立起来后再去掉注释。
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。