共计 1972 个字符,预计需要花费 5 分钟才能阅读完成。
本篇内容主要讲解“MySQL 如何快速搭建主从复制架构”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让丸趣 TV 小编来带大家学习“MySQL 如何快速搭建主从复制架构”吧!
1. 主从复制与读写分离 1.1 主从复制(数据层面)
主从复制是读写分离的前提。MySQL 数据库提供的主从复制功能可以方便的实现数据在多台服务器自动备份,实现数据库的拓展,极大的加强了数据的安全性。同时,实现主从复制之后,可以通过实现读写分离进一步加强数据库的负载性能。
如图所示便是主从复制的大致实现流程。
1.2 读写分离(业务层面)
读写分离是建立在主从复制的基础上,只有实现了数据库的主从复制,才能进一步的实现读写分离。读写分离可以理解为所有的查询操作在子数据库进行,所有的写操作在主数据库进行。当数据写入主数据库后,通过主从复制将数据备份到子数据库中,从而确保数据的一致性。
2. 实现
我们先来了解一下实现主从复制的原理:
首先当主数据库的数据发生变化后,会将变化记录写入 binlog 日志中。
slave 数据库会在一定时间内对 master 数据库中的 binlog 日志进行探测,如果发生改变,则请求 master 日志文件信息。
了解其原理之后,我们需要知道开启主从复制的前提:
master 节点需要开启 binlog 日志(mysql 默认不开启 binlog)
slave 节点,指定某个 binlog 文件,以及同步的 offset
指定 master 节点的 ip
执行 master 节点的用户名和密码
现在大致我们都了解了,接下来我们搭建一个一主一从的数据库模式,演示一下数据库主从搭建的配置过程。
准备两台 CentOS 服务器,并提前安装好 mysql5.7。
2.1 开启 master 服务器的 binlog 日志
编辑 mysql 的 my.cnf 文件:(安装方式不同,可能文件位置不同,具体问题具体分析~)
vim /etc/my.cnf
原本文件是没有以下内容的,需要我们自行添加。我这边是值对 myslave 库进行数据的主从复制
server-id = 1 #server-id 服务器唯一标识 log_bin = master-bin
#log_bin 启动 MySQL 二进制日志 log_bin_index = master-bin.index
binlog_do_db = myslave #binlog_do_db 指定记录二进制日志的数据库 这两个指定可以不添加 binlog_ignore_db = mysql
#binlog_ignore_db 指定不记录二进制日志的数据库
使用如下命令重启 mysql。linux 版本不一样可能命令不同。
service mysql restart
启动成功后,我们可以通过下面的语句看到 bin-log 开启情况:(直接在 Navicat 中查询即可)
show variables like log_bin%
2.2 远程访问
# 允许远程用户访问
GRANT ALL PRIVILEGES ON *.* TO root @ 192.168.221.131 IDENTIFIED BY 123456 WITH GRANT OPTION;
FLUSH PRIVILEGES;
2.3 slave 节点配置
首先在 master 节点,通过下面的命令了解 master 节点的状态,得到如下图所示的信息。
show master status;
修改相关配置
vim /etc/my.cnf
添加相关信息:
server-id = 2 # 唯一标识 relay-log = slave-relay-bin
relay-log-index = slave-relay-bin.index
replicate-do-db=myslave #备份数据库 对应 master 中设置的,可以不设置 replicate-ignore-db=mysql # 忽略数据库
记得重启服务;
service mysql restart
在 slave 节点执行如下命令。
change master to master_host= 192.168.221.128 ,master_user= root ,master_password= 123456 ,master_log_file= binlog.000009 ,master_log_pos=2339;
master_log_file 是第一步得到的 file 名称;
master_log_pos 是第一步得到的同步位置点;
启动 slave 同步
start slave;
查看同步状态,得到下图所示的状态,表示主从同步搭建成功。可以在主库中创建表测试。
show slave status\G
到此,相信大家对“MySQL 如何快速搭建主从复制架构”有了更深的了解,不妨来实际操作一番吧!这里是丸趣 TV 网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!