Centos6.5基于MariaDB10.x 主从复制高可用简单详解

分类:CentOS运维 阅读:17270 次

主从复制目的:

mysql服务器稳定性提升,避免单台mysql服务器宕机后影响整个业务,当出现宕机问题后,可以立即可使从机提升为新的主服务器。从而实现sql高可用冗余性。

一、演示环境

os:centos6.5

sql:mariadb-10.0.12

iptables off

selinux disabled

已装组件:

Development tools

Server Platform Development

主机master:10.19.90.197

从机slave:10.19.90.111

二、(注:sql安装不演示,请参考http://ssc4469.blog.51cto.com/6315913/1627739里的mariadbab安装,另外我这里演示的数据库版本一致的)

master服务器配置:

1、停止服务

2、修改mysql配置文件,/etc/my.cnf,我这里仅修改了两项参数,如图所示,一个是mysql日志路径,一个是server-id为1

Centos6.5基于MariaDB10.x 主从复制高可用简单详解

3、创建binlog目录,修改属组

4、启动mysql服务,查看启动信息

Centos6.5基于MariaDB10.x 主从复制高可用简单详解5、登录mysql 授权远程用户

slave服务器配置:

1、停止服务

2、修改mysql配置文件,/etc/my.cnf,我这里仅修改了两项参数,如图所示,一个是启用mysql中继日志路径,一个是server-id为2

Centos6.5基于MariaDB10.x 主从复制高可用简单详解

3、创建binlog目录,修改属组

4、启动mysql服务,查看启动信息

5、连接mysql,查看中继日志状态:

(注:中继日志:它其实跟复制相关的,与二进制日志几乎相同,只不过它不是用于记录事件的,而是作为读取数据的源并且在本地执行的,当然中继日志是在从服务器上)

Centos6.5基于MariaDB10.x 主从复制高可用简单详解

6、查看验证(此时没有文件)

7、登录mysql 授权远程用户

三、查看master、slave节点状态及启用slave节点

Centos6.5基于MariaDB10.x 主从复制高可用简单详解

2、maser查看日志状态:

Centos6.5基于MariaDB10.x 主从复制高可用简单详解

3、slave节点查看同步状态(注:配图是已经同步中的状态,实际刚创建完毕,Slave_IO_Running: No,Slave_SQL_Running: No,主要就是看这两项参数)

Centos6.5基于MariaDB10.x 主从复制高可用简单详解

4、启动slave同步连接服务:

5、slave节点验证文件查看:

Centos6.5基于MariaDB10.x 主从复制高可用简单详解

6、slave节点同步状态查看:

Centos6.5基于MariaDB10.x 主从复制高可用简单详解

四、master创建库,测试slave是否同步,这几步操作不在进行演示,大家自己去试试就OK,很简单、

五、我这里讲下,mysql主从同步,如何同步已有的数据。

问题:原本197这台服务器最开始是单项sql服务器,刚才创建的主从同步,不能同步之前的库和数据,下面我给大家讲下这个问题。

解决方法:

主机开两个shell窗口,一个进入mysql,一个是shell

1、master 主机阻断写操作

2、另一个shell导出master主机相应的数据库

3、解锁刚才的锁定

4、同步导出的数据

5、slave主机

停止slave

6、创建mysql库

7、导入数据

8、从启slave

六、验证

登录:master数据库连接的web端,后台创建一个新用户,如下:

Centos6.5基于MariaDB10.x 主从复制高可用简单详解

登录master数据库查看 user表 是否有数据写入;

Centos6.5基于MariaDB10.x 主从复制高可用简单详解

登录slave数据库查看对应的表是否有数据同步过来;

我这里已同步了 ,懒得写了,累死我了。。。。。。

特别注意注意:估计有人创建后同步数据库时,比如主库创建一条数据同步没事,但是修改一条数据无法同步,重启slave 在show slave status,会看到Last_SQL_Error:1062 报错 ,这里请修改从库的my.cof配置文件,在里面加上

slave-skip-errors=1062 、在查看,数据就同步过来了,去掉配置里的slave-skip-errors=1062,重启数据库,在更新主库表,在查看从库对应的数据,一切正常。OK,就这样。
本文出自 “阿俊博客” 博客,请务必保留此出处http://ssc4469.blog.51cto.com/6315913/1631627