环境描述
操作系统: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主从复制是一个常见的任务,特别是在需要高可用性和数据冗余的环境中。以下是一份详细的步骤指南,涵盖了从安装MySQL到配置主从复制的全过程。 首先,由于CentOS7的默认YUM源中不包含MySQL...
主要介绍了CentOS服务器平台搭建mysql主从复制与读写分离的方法,结合实例形式较为详细的分析了CentOS平台搭建mysql主从复制与读写分离的步骤、设置方法、相关操作技巧与注意事项,需要的朋友可以参考下
如果我们看到Master和Slave的状态都是正常的,那么我们就可以成功地搭建了Mysql主从复制了。 Mysql主从复制是一种非常有用的技术,它可以帮助我们提高数据库的性能和可用性。但是,它也需要我们对Mysql有深入的了解...
在CentOS7上搭建MySQL主从服务器是数据库高可用性和负载均衡的一种常见实践,它能够保证数据的一致性,并在主服务器出现故障时无缝切换到从服务器,确保服务的连续性。以下将详细介绍如何在CentOS7环境下搭建MySQL...
MySQL主从复制技术是一种数据库复制技术,它可以在多个服务器之间复制数据,使得数据在不同位置保持一致。这种技术广泛应用于数据库的高可用性、负载均衡、数据备份、读写分离等场景。 知识点一:MySQL版本和操作...
在IT领域,数据库管理是至关重要的,特别是在企业级应用中。本教程将深入探讨如何在...通过这个教程,你可以掌握在CentOS7系统上搭建高可用MySQL主主互备环境的全过程,提升数据库管理能力,确保业务系统的稳定运行。
1. 搭建并测试一主两从的主从复制环境 * 在 master 节点上安装 Mysql,并创建从服务器的账户 * 在 slave 节点上安装 Mysql,并配置从服务器的账户 2. 安装 am 节点的 amoeba 代理程序 * 在 am 节点上安装 JDK 和...
使用与Linux版本centos7以及7以上版本,就是傻瓜试安装,每一条命令都有详细解释和说明,关键技术,数据挂载目录,主从复制模式的三种模式,binlog的三种格式的解释说明
在实际应用中,MySQL主从复制的搭建需要以下几个步骤: 1. **环境准备**:通常选择最新稳定版本的MySQL,如5.7.18,并在Linux(如CentOS)环境下安装。关闭防火墙、SELinux,确保系统时间同步。 2. **安装数据库**...
花了小一天的时间,终于实现了centos7 mariadb主从复制配置搭建,下面记录一下过程 环境: 虚拟机:vm8; centos7 版本:7.2.1511; mariadb 版本:centos7.2内置的 主库服务器: 10.69.5.200,CentOS 7,MariaDB 10已...
通过以上内容可知,Lepus监控系统是针对MySQL主从复制延迟和慢查询问题的专业监控工具,主要运行在Centos/RedHat平台上,需要一定的PHP和Python环境支持,以及MySQL、Apache、PHP和Python驱动模块的配合。搭建监控...
本文将详细介绍如何搭建MySQL主从互备系统,并通过具体的步骤指导完成快速数据迁移。 #### 二、准备工作 ##### 1. 环境准备 - **主机**:IP地址为192.168.1.203,端口号3306 - **从机**:IP地址为192.168.1.204,...
文档包含mysql下载链接,包含mysql安装配置,初学者可立即入门安装,包含主从配置和双击互呗配置,全手动安装过程分享
### Mycat+MySQL主从复制读写分离验证安装手册知识点详解 #### 1. 实验环境及准备 在实现Mycat与MySQL的主从复制读写分离之前,需要搭建好实验环境。根据文档中的信息,实验环境由两台机器组成,分别用于充当MySQL...
文章内容涉及环境配置、MySQL安装、配置文件修改、主从同步设置等多个方面,为读者提供一个完整搭建MySQL主从架构的过程。 首先,我们来了解环境配置部分。文章明确指出,所使用的操作系统版本为CentOS 7.6,MySQL...
以下是对搭建、修改和优化MySQL主从同步过程的详细解释: 1. **环境配置**: 主服务器(Master)和从服务器(Slave)通常运行在不同的硬件或虚拟机上,以实现物理隔离和负载分散。在这个例子中,两者都是CentOS ...
本文详细介绍了MySQL主从配置的具体步骤和命令,包括如何在主服务器上创建复制用户、编辑配置文件、设置读锁、获取binlog信息;以及在从服务器上编辑配置文件、配置复制参数、启动复制进程和检查复制状态的方法。...