linux的mysql的高可用配置_mysql linux下高可用架构的简析及主、从复制的实战(一)...

mysql数据库的主、从复制是比较简单的,但是也是mysql数据库高可用性的一个基础,我的理解是所有mysql的高可用都是从这主、从简单复制演变而来。写这篇博客是因为最近有位同事和我说他做mysql ha实验,使用的是keepalived+mysql主、从架构,使我疑惑了,与他一起再次复习mysql ha的高可用架构,知道这样的架构并不理想。

我的理解是主、从复制存在时间差的,数据库一致性得不到保证,即使是使用shell 进行监控从数据库的复制性那也是需要时间的,一个简单的例子当master down时从还没复制完全或没有复制,在实际的生产环境中就存在大问题了。而主、主复制的架构,就很好的解决了数据库一致性问题,是可以使用keepalived来实现。

主、从复制的架构毕竟还是为了数据库的备份,虽然是热备的一种但是不能让他去做高冗余吧,其实这种架构我还是很欣赏的,还有一个好处可以读、写分离来提高数据库的I/O性能,我虽然建立的电子商务平台不多,但基本上上线的还是这个架构为主。这种架构在master出现故障后,还是要靠手工去切换,不存在裂脑问题,同时毕竟牵扯到数据库,稳妥点比较好,电子商务中数据库的事都是大事。

另一种架构我是非常欣赏并使用过主、主的自动切换架构,即解决了单点故障问题,还可以自动切换(一定要设置切换时报警,还是要上线看的),同时还互为备份。在参看了煮酒抚琴兄的一篇mysql数据库优化(下)后,给我的启发是如果数据库的投入充裕的话,还可以主主、从的架构,虽然没有直接应用过,但从理论上应该是中底端mysql数据库应用最稳定的吧,有机会的话应用下,这架构下再加上负载均衡应该问题不大。有时间的话,一定要做这个测试来看看效果。

mysql+lvs+cluster+keepalived的负载均衡、HA架构也应用过,但效果不是很理想,并且那个成本实在有点高,后期维护也是个问题,后面会把这个架构我实施的步骤和配置列出来,给感兴趣的朋友一起研究。

我认为无论是那种高可用的mysql架构,至少做到本地和异地双备份。

主、从复制就简单多了,大家都知道主、从复制的原理就是以下三步:

(1)master将改变记录到二进制日志(binary log)中(这些记录叫做二进制日志事件,binary log events);

(2)slave将master的binary log events拷贝到它的中继日志(relay log);

(3)slave重做中继日志中的事件,将改变反映它自己的数据。

这里提醒下大家,只需要将master二进制的日志打开即可,从的不需要,这点往往是很多人忽视的,数据引擎我一般是用的InnoDB。

实验环境:centos 6.4 mysql-server-5.1.73-3.el6_5.x86_64。

一、开启Master的二进制日志

开启mysql的binlog日志

vi/etc/my.cnfmysqld中加入

server-id=1

log-bin = mysql-bin

binlog-do-db=falvhezi2 (需要同步的库)

binlog-ignore-db=mysql (不需要同步的)

binlog-ignore-db=test (不需要同步的)

064746c69f3cb58142cc1a8bae45cd71.png

重启mysqld,成功后进入mysql查看是否开启日志。

mysql -uroot -p

6ec8f788420e05cefa8a2dff076bfeb6.png

上图可以看到log_bin已打开。

如果出现下图,那就是出现错误,需重新检查my.cnf的配置

e2e7c21a780c0dbfec9666f27c35dd4b.png

log_bin打开后,输入show master status;查看并记录

二、授权master同步的用户

grant all on *.* to share@192.168.1.163 identified by "admin888";

设置mysql用来同步的用户名,指定从服务器IP及密码。

8c29d500f017b18147d37155422665da.png

别忘记flush privileges;

三、配置slaver

先测试下share用户能否登录到master上。

58315eda5fbf62deda7287886e0b1774.png     查看下 slaver的状态 ,确定master_log_file和主数据库的对应,并且Slave_IO_Running和Slave_SQL_Running是yes状态,说明成功在即。

ceafcf33ef4d6083f8b2d9b94b4d0c3b.png

start slave;

cc126d1bb3c62ed24ecb6f796b376a69.png

成功了。

有两点问题要注意:

Slave_IO_Running: NO

如果此项为NO多为连接性问题

1、 两个服务器系统之间网络连接问题

2、 数据库用户权限问题

Slave_SQL_Running: NO

数据库二进制文件权限不对

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值