环境描述
操作系统:CentOS7 主服务器master:192.168.32.130 从服务器slave:192.168.32.129
主从复制
前面我已经写了关于centos7上面配置mysql数据库的文章了,这里就直接跳过mysql安装。
1)主从复制原理
(图片来源于网络)
主从复制分为同步复制和异步复制,实际复制架构中大部分为异步复制。 复制的基本过程如下:1.Slave上面的IO进程连接上Master,并请求从指定日志文件的指定位置(或者从最开始的日志)之后的日志内容; 2.Master接收到来自Slave的IO进程的请求后,通过负责复制的IO进程根据请求信息读取制定日志指定位置之后的日志信息,返回给Slave 的IO进程。返回信息中除了日志所包含的信息之外,还包括本次返回的信息已经到Master端的bin-log文件的名称以及bin-log的位置; 3.Slave的IO进程接收到信息后,将接收到的日志内容依次添加到Slave端的relay-log文件的最末端,并将读取到的Master端的 bin-log的文件名和位置记录到master-info文件中,以便在下一次读取的时候能够清楚的告诉Master。 4.Slave的Sql进程检测到relay-log中新增加了内容后,会马上解析relay-log的内容成为在Master端真实执行时候的那些可执行的内容,并在自身执行。
-
修改mysql master服务器
在master服务器上(我这里是192.168.32.130),切换到/etc/ 下找到my.cnf文件,对其进行修改,修改内容主要是在文件最上面添加如下内容:
server-id=202 #设置服务器唯一的id,默认是1,我们设置ip最后一段,slave设置203
log-bin=mysql-bin # 启用二进制日志
binlog-ignore-db=mysql,information_schema #忽略写入binlog的库
-
修改mysql slave服务器
在slaver服务器上(我这里是192.168.32.129),切换到/etc/ 下找到my.cnf文件,对其进行修改,修改内容主要是在文件最上面添加如下内容:
server-id=203 #这个值只要与集群中的mysql服务器保持唯一就行,可以自定义
replicate-do-db = jeff #只同步jeff库
slave-skip-errors = all #忽略因复制出现的所有错误
-
重启master、slaver服务器
systemctl restart mysqld,其实这里你也可以先关闭systemctl stop mysqld然后再启动systemctl start mysqld
-
在主服务器上建立帐户并授权slave
GRANT REPLICATION SLAVE ON *.* to 'mysqlsync'@'192.168.32.129' identified by 'chenfeng1234.Com';
-
查看主数据库状态
登录master数据库,通过命令show master status;进行查看主数据库状态,主要看master的File、Position对应的值,方便后面讲其配置到slave中。
-
配置从数据库
登录slave数据库,通过命令
change master to
master_host='192.168.32.130',
master_user='chenfeng',
master_password='ChenFeng0814!',
master_log_file='mysql-bin.000003',
master_log_pos=1731;
这里解释一下各命令的含义:
master_host 表示master服务器的IP地址;
master_user表示master服务器给定的远程登录用户名;
master_password表示远程登录密码;
master_log_file表示master服务状态中的File值;
master_log_pos表示master服务状态中Position值。
-
启动slave同步进程并查看状态
登录slave数据库,通过命令show slave status\G;当红圈内的两个状态都是yes就表明已经配置同步成功了,如下图所示:
-
验证主从同步
此时所有主从同步配置已完成,现在我在master服务器上jeff数据库中插入一张表并导入部分数据来验证下slave服务器是否能够正常同步过来,可以看到此时数据库中并没有表的存在。
在master中执行添加表语句
可以看到此时master上面表已经建成了
再查看slave上面是否已经同步过去了,确实是已经同步过来了
-
常见错误
如上图,查看slave状态是IO_RUNNING状态为no,这个可能是/var/lib/mysql/auto.cnf中的server-uuid主、从重复了,解决办法是将master上的auto.cnf文件删除,然后重启master服务器的mysql服务,将会生成一个新的auto.cnf文件,且server-uuid肯定和slave上面的值不等。
如上图,查看slave状态是IO_RUNNING状态为connecting,这个错误可能由三个原因导致:1.远程用户、密码配置错误;2.read_master_log_pos和relay_master_log_file配置错误;3.网络问题或者防火墙问题。
相关推荐
centos7 搭建mysql主从.docx
主要介绍了CentOS服务器平台搭建mysql主从复制与读写分离的方法,结合实例形式较为详细的分析了CentOS平台搭建mysql主从复制与读写分离的步骤、设置方法、相关操作技巧与注意事项,需要的朋友可以参考下
主要介绍了在centos7上搭建mysql主从服务器的方法,本文通过图文并茂的形式给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
使用与Linux版本centos7以及7以上版本,就是傻瓜试安装,每一条命令都有详细解释和说明,关键技术,数据挂载目录,主从复制模式的三种模式,binlog的三种格式的解释说明
花了小一天的时间,终于实现了centos7 mariadb主从复制配置搭建,下面记录一下过程 环境: 虚拟机:vm8; centos7 版本:7.2.1511; mariadb 版本:centos7.2内置的 主库服务器: 10.69.5.200,CentOS 7,MariaDB 10已...
文档包含mysql下载链接,包含mysql安装配置,初学者可立即入门安装,包含主从配置和双击互呗配置,全手动安装过程分享
目的:定时监控MySQL主从数据库是否同步,如果不同步,记录故障时间,并执行命令使主从恢复同步状态 1、创建脚本文件 vi /home/crontab/check_mysql_slave.sh #编辑,添加下面代码 #!/bin/sh # check_mysql_slave...
linux下 mysql 主从服务器搭建 自己整理的 亲测可用
压缩包内包括:Mysql on centOS文档 、MySQL 主从配置 (文档来源入门导师侯志鹏)
分享mysql 5.7 docker 主从复制架构搭建教程,供大家参考,具体内容如下 环境版本: MySQL : 5.7.13 Docker : 1.11.2 CentOS : 7.1 1.先在两个物理机上分别安装两个MySQL.命令如下 代码如下:docker pull ...
包括mysql replication主从复制模式、mysql group replication组复制模式、InnoDB cluster集群模式、NDB cluster模式等。 此处使用InnoDB cluster集群模式,这是一种主流的搭建方式。此模式分为沙盒部署和生产环境...
Linux自动化运维课程包括了Linux基础运维课程,MySQL主从监控,LAP架构实战,Redis技术,Zabbix部署实战,Location和LNMP架构分析以及Shell编程实战课程。 思维拓展: DevOps并不是某一项技术的名称,甚至不是一...
本文档为介绍生产环境 Mysql主从复制搭建+Maxscale2.0读写分离部署及测试,版本为mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz 和maxscale-2.2.5-1.centos.7.x86_64.rpm
最近项目上开始重构,可能会用到主从加读写分离的情况,就想先在本地搭一个出来试试效果,结果百度一搜出来一大堆,然而自己去踩坑的没几个,绝大多数都是去抄的别人的内容,关键是实际应用中还会出错,浏览器开了...
主从复制的准备工作01-mysql用户以及权限 00:12:11分钟 | 第10节 主从复制的准备工作02-binlog日志详解 00:33:23分钟 | 第11节 主从实战01-准备环境 00:26:06分钟 | 第12节 主从实战02-主节点配置 00:06:19分钟 |...
搭建虚拟机centos6.0, mysql5.6.10主从复制,死活不同步,搞了一整天找到这篇文章终于OK了,特分享一下,需要的朋友可以参考下
虚拟机搭建本地环境记录 1.vmware的安装 1.进入vm官网,下载页面 2.选择试用,不然要登录的 3.安装 4.输入秘钥 百度来的可用2020-02-13测试 UG5J2-0ME12-M89WY-NPWXX-WQH88 2.vmware的安装centos7 1.下载centos7,...
3-7 Ubuntu中通过Docker安装配置MySQL主从节点.mp4 第04章 “云存储”系统之基于用户系统实现的资源隔离及鉴权 4-1 帐号系统介绍与用户表设计.mp4 4-2 编码实战:“云存储”系统之实现用户注册接口.mp4 4-3 编码...