mysql + gtid主从复制

环境说明:

mysql主服务器:server3  172.25.56.3
mysql从服务器:server4 172.25.56.4;server5 172.25.56.5

安装软件包:

分别在注服务器server3中、从服务器server4、server5中
创建目录,将解压得到的软件包放在所创建的目录下:

以主服务器为例:从服务器做相同配置操作:

 

进入mysql-5.7.17目录下,安装所需要的软件包

 

启动服务,并修改数据库的密码

/etc/init.d/mysqld   start

修改数据库密码,首先输入我们上面所得到的root的密码,然后输入新密码

 

一、主从复制

 

主从复制原理图:

复制原理:

Mysql中有一种日志叫做bin日志(二进制日志)。这个日志会记录下所有修改了数据库的SQL语句(insert,update,delete,ALTER TABLE,grant等等)。
主从复制的原理其实就是把主服务器上的BIN日志复制到从服务器上执行一遍,这样从服务器上的数据就和主服务器上的数据即相同
 

配置:

在主服务器server3上:

 

更改配置文件内容,重启服务

进入mysql,创建用户,查看起始点

 

创建一个数据库并写入数据

 

 

 

在服务器server4上

 

 

 

在server4上测试主服务器上所建立的用户是否可以登陆mysql

 

登陆成功

 

进入数据库,设置从数据库,并开启slave

 

 

开启后查看slave状态

 

注:显示Slave_IO_Running: Yes和Slave_SQL_Running: Yes表示slave启动正常

 

在主服务器上再添加数据,查看从服务器是否复制主服务器的数据,测试复制情况

注服务器:

 

从服务器测试:

 

从服务器上,查看得到了主服务器所添加的数据,即主从复制成功!

 

gtid方式的主从复制

在主服务器server3上:

修改配置文件,加入如下内容,重启服务

 

在从服务器server4上,首先修改配置文件,和上面server3的修改相同,然后进入mysql,停止slave

 

 

 

再次开启slave,查看状态

测试:

在主服务器上删除数据,在从服务器上查看,是否更新同步数据

主服务器:

 

从服务器:

 

server4上查看,更新同步数据,即gtid主从复制数据成功!

 

一主两从:

主:server3  两从:server4、server5

server3还是主服务器

原先server4作为server3的从服务器的配置不用改变

配置server5作为server4的从服务器

 

进入server4的数据库,创建用户

 

server5上测试用户是否可以登陆

登陆成功!

 

server4上,修改配置文件并重启服务:

 

server5作为从服务器和上面一主一从中的从服务器的配置相同

 

在复制之前server5,server6,serevr7上面的数据要保持一致,所以将server4上的数据库拷贝出来,复制给server5

 

server5上编辑拷贝到的数据库,将数据导入到server5的数据库中

在server5上,进入数据库,查看信息

 

server5上开启slave

 

到此一主两从配置成功,进行测试:

在主服务器server3数据库中添加数据进行测试:

server3中添加数据:

server4同步数据:

 

server5同步数据:

 

一主两从的复制成功!

 

mysql的并行复制

 

只在slave上进行,这里在server4上配置并行复制。
首先查看线程processlist

 

修改server4的mysql配置文件,添加如下的内容,原先的配置不变,重启服务,实现并行

 

 

进入mysql,再次查看processlist

 

 

DATABASE:默认值,基于库的并行复制方式

LOGICAL_CLOCK:基于组提交的并行复制方式

开启MTS功能后,务必将参数master_info_repostitory设置为TABLE,这样性能可以有50%~80%的提升,因为并行复制开启后对于元master.info这个文件的更新将会大幅提升,资源的竞争也会变大,将master_info_repository设置为TABLE,来减小这部分的开销

 

半同步复制

半同步复制模式必须在主服务器和从服务器同时中开启,否则将会默认为异步复制模式,半同步复制需要安装插件如下;

主服务器server3上需要安装插件semisync_master.so

 

从服务器server4上需要安装插件semisync_slave.so

到此主从服务器之间的的半同步复制就配置完成,进行测试
首先在master上查看以下参数

 

在slave上关闭io_thread

在主数据库中插入数据,会等待10s返回结果

 

这个时候退回到异步复制,slave上还没有接受到数据,查看如下:

 

再次回到master上查看相关状态

 

再次开启slave上的io_thread,查看数据是否同步,发现数据进行了同步

 

到此半同步复制成功!

 

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。、可私 6信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。、可私 6信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 、可私信博6主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值