centos下mysql主从分离_Centos7 mysql 主从复制(读写分离)设置

最近准备研究一些实战型的可以承担中型流量的系统架构知识,记录于此。

Centos7 mysql 主从复制

1 Mysql 读写分离主从复制模式概述

主(master)从(slave)复制,就是一台机器的mysql充当主服务器,其他充当从服务器。

更新操作(insert、update、delete)在主(master)服务器

读取在从服务器(select)

1.1 mysql 支持的复制类型

基于语句复制,MySQL默认采用基于语句的复制,效率比较高。一旦发现没法精确复制时, 会自动选着基于行的复制。

在主服务器上执行的SQL语句,

在从服务器上执行同样的语句。

基于行复制,把改变的内容复制过去,而不是把命令在从服务器上执行一遍. 从mysql5.0开始支持

混合类型复制,默认采用基于语句的复制,一旦发现基于语句的无法精确的复制时,就会采用基于行的复制。

1.2 复制解决的问题

MySQL复制技术有以下一些特点:

数据分布 (Data distribution )

负载平衡(load balancing)

备份(Backups)

高可用性和容错行 High availability and failover

1.3 复制如何工作

分3个步骤

master 将改变记录到二进制(binary log)中。

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

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

2 复制配置

两天 centos

主(master)192.168.0.112

从(slave)192.168.0.113

2.1 master 建立账号赋权

在 Master 中创建账号 backup,并允许每个 slave 节点有 PEPLICATION SLAVE 权限。用户名的密码都会存储在文本文件 master.info 中

‘backup’@’%’ 表示用还可以从远程登录

CREATE USER ‘backup’@’%’ IDENTIFIED BY ‘password’;

授权

mysql > GRANT REPLICATION SLAVE,RELOAD,SUPER ON *.* TO backup@’%’ IDENTIFIED BY ‘1234’;

2.2 拷贝数据

新安装服务器不需要

2.3 配置 master 节点

查找 my.cnf 文件

find / -name 'my.cnf'

现在在 /etc/my.cnf

编辑

vi /etc/my.cnf

在文本后增加

server-id=1

log-bin=master-bin

log-bin-index=master-bin.index

保存文件后

systemctl restart mysqld

进入mysql

show master status

2.4 配置 slave 节点

配置 my.cnf 文件如下:

og_bin= mysql-bin

server_id = 2

relay_log= mysql-relay-bin

log_slave_updates = 1

read_only= 1

2.5 启动 slave

接下来就是让slave连接master,并开始重做master二进制日志中的事件。你不应该用配置文件进行该操作,而应该使用CHANGE MASTER TO语句,该语句可以完全取代对配置文件的修改,而且它可以为slave指定不同的master,而不需要停止服务器。如下:

mysql> CHANGE MASTER TO MASTER_HOST='server1',

-> MASTER_USER='repl',

-> MASTER_PASSWORD='p4ssword',

-> MASTER_LOG_FILE='mysql-bin.000001',

-> MASTER_LOG_POS=0;

测试

mysql> start slave;

显示,注意命令是大写的G,查看输出结果 在这里主要是看: Slave_IO_Running=Yes Slave_SQL_Running=Yes

msyql> show slave status \G

在 master 端输入 show processlist\G

msyql> show processlist \G

2.6 停止 slave

stop slave

只有再停止了 slave 后才能修改配置文件。

2.7 问题

:The slave I/O thread stops because master and slave have equal MySQL server UUIDs

最后检查发现他们的auto.cnf中的server-uuid是一样的。。。

[root@localhost ~]# vim /var/lib/mysql/auto.cnf

[auto]

server-uuid=4f37a731-9b79-11e8-8013-000c29f0700f

问题解决

停止从库的mysqld服务,删除他的auto.cnf文件,再启动数据库服务即可:

[root@localhost mysql]# systemctl stop mysqld.service

[root@localhost mysql]# mv /var/lib/mysql/auto.cnf /var/lib/mysql/auto.cnf.bak

[root@localhost mysql]# systemctl start mysqld.service

2.8 测试

在主库创建一个demo库

create database demo;

在从库也能快速看到。

weixin073智慧旅游平台开发微信小程序+ssm后端毕业源码案例设计 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
python017基于Python贫困生资助管理系统带vue前后端分离毕业源码案例设计 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、付费专栏及课程。

余额充值