centos 6.3 mysql_CENTOS6.3下MYSQL主主互备架构配置

MySQL主主互备结构是基于mysql增量日志基础上的,区别于主从复制结构.

在主主复制结构中,两台服务器的任何一台上面的数据库存发生了改变都会同步到另一台服务器上,这个改变是基于sql语句的改变,如果删除系统数据库源文件或删除后新创建同名MYSQL表实现同步则无效。这样两台服务器互为主从,并且都能向外提供服务,这就比使用主从复制具有更好的性能.

接下来我将使用两个相同的环境来实现这个效果:

系统环境:centos6.3

数据库: mysql-5.6.10

注:在做此项配置之前首先要保证数据库当前无任何变动,建议同步前关闭WEB服务等影响数据库变动的服务

安装配置mysql(略)

1.主1 mysql配置:(192.168.7.201)

删除之前遗留bin日志

# rm -rf /usr/local/mysql/log/bin*

修改mysql配置文件:

# vi /etc/my.cnf

添加:

-----------------

# Replication Master Server 1

# bin日志路径

log-bin = /usr/local/mysql/log/bin.log

# 服务器ID号

server-id = 1

# 忽略mysql数据库复制

binlog-ignore-db=mysql

# 每次增长2

auto-increment-increment = 2

# 设置自动增长的字段的偏移量,即初始值为1

auto-increment-offset = 1

------------

# mysql -u root -p123456

在主1上为主2添加同步帐号

> grant replication slave on *.* to 'slave'@'192.168.7.249' identified by '123456';

将主1的数据库表全部备份,并发送到主2服务器上。

# /usr/local/mysql/bin/mysqldump -u root -p123456 --opt --skip-lock-tables  --flush-logs  --all-database > /root/allbak.sql

# cd ~

# scp allbak.sql root@192.168.7.249:/root

重启服务

# service mysqld restart

# mysql -u root -p123456;

配置连接到主2服务器(注意这步一定要在主2添加账户后执行)

> stop slave;

> change master to master_host='192.168.7.249',master_user='slave',master_password='123456';

> start slave;

2.主2 mysql配置(192.168.7.249)

删除之前遗留bin日志

# rm -rf /usr/local/mysql/log/bin*

修改mysql配置文件:

# vi /etc/my.cnf

添加:

--------------------

# Replication Master Server 2

# bin日志路径

log-bin = /usr/local/mysql/log/bin.log

server-id=2

# 忽略mysql数据库复制

replicate-ignore-db=mysql

# 每次增长2

auto-increment-increment = 2

# 设置自动增长的字段的偏移量,即初始值为2

auto-increment-offset = 2

---------------------

# mysql -u root -p123456

在主2上为主1添加同步帐号

> grant replication slave on *.* to 'slave'@'192.168.7.201' identified by '123456';

恢复主1的数据库到主2

#/usr/local/mysql/bin/mysql -u root -p123456 < /root/allbak.sql

重启服务

# service mysqld restart

# mysql -u root -p123456;

配置连接到主1服务器

> stop slave;

> change master to master_host='192.168.7.201',master_user='slave',master_password='123456';

> start slave;

最后分别登陆两台服务器mysql后台查看主主备份连接状态

# mysql -u root -p123456;

> show slave status\G;

搜索这三行,如下则主主互备配置成功

Slave_IO_State: Waiting for master to send event

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

a91b28ee444ad596cc2ee2ef9d3e2485.png

a7271fa99626f96b12d145e32515cc70.png

当主1的数据库增加,删除,改变数据时,主2也会同步更新。

当主2的数据库增加,删除,改变数据时,主1也会同步更新。

这样就可以配合keepalived实现数据库双机热备+数据同步互备,大大提高了MYSQL的可靠性和安全性。

keepalived+MYSQL互备

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值