基于centos7安装MySQL8主从复制配置

MySQL主从复制配置

    • 1、主从复制原理
      • 1.1、环境准备
    • 2、主服务器节点
      • 2.1、修改my.cnf文件
      • 2.1.1、验证配置是否成功
        • 2.1.2、验证查询server_id是否存在
        • 2.1.3、查询同步的文件和行数
    • 3、从服务器节点
      • 3.1、修改my.cnf文件
      • 3.2、验证配置是否成功
        • 3.2.1、从服务器器同步主服务器配置
    • 4、功能测试

1、主从复制原理

  1. 在主库上把数据更改记录到二进制日志中(Binary Log)中,这些记录称为二进制日志事件。
  2. 从库通过IO线程将主库上的日志复制到自己的中继日志(Relay Log)中。
  3. 从库通过SQL线程读取中继日志中的事件,将其重放到自己数据上。
    基于centos7安装MySQL8主从复制配置_第1张图片

1.1、环境准备

两天服务器均要安装mysql数据库,linux安装mysql数据库链接:https://www.jb51.net/article/175013.htm
服务器环境:centos7 mysql版本:8.0.18
主服务器:192.168.78.230
从服务器:192.168.78.235
有其它文章都是部分操作命令是在服务器mysql终端上操作的,如下我将用navicat连接数据库执行命令。

2、主服务器节点

2.1、修改my.cnf文件

[root@localhost ~]# vim /etc/my.cnf
#服务器节点id,一般为服务器ip方便区分
server-id=230
#开启日志文件
log-bin=mysql-bin
#指定要同步的数据库,多个用逗号隔开(可以不用配置)
binlog_do_db=gi_test

基于centos7安装MySQL8主从复制配置_第2张图片

2.1.1、验证配置是否成功

#重启mysql服务
systemctl restart mysqld
#查看mysql服务状态
systemctl status mysqld

基于centos7安装MySQL8主从复制配置_第3张图片

2.1.2、验证查询server_id是否存在

## 验证查询server_id是否存在 
 show variables like '%server_id%';

基于centos7安装MySQL8主从复制配置_第4张图片

2.1.3、查询同步的文件和行数

# 查询同步的文件和行数,如下查询的数据在从服务器上执行命令会用到。
show master status;  

基于centos7安装MySQL8主从复制配置_第5张图片

3、从服务器节点

3.1、修改my.cnf文件

[root@localhost ~]# vim /etc/my.cnf
 
#服务器节点id,一般为服务器ip方便区分
server-id=235
#开启日志文件
log-bin=mysql-bin
#指定要同步的数据库,多个用逗号隔开(可以不用配置)
binlog_do_db=gi_test

3.2、验证配置是否成功

然后重启mysql服务: systemctl restart mysqld
验证:show variables like ‘%server_id%’; 如能能查询出对应配置的server_id值表示已经配置成功
基于centos7安装MySQL8主从复制配置_第6张图片

3.2.1、从服务器器同步主服务器配置

#从服务器器同步主服务器配置
	## master_log_file='mysql-bin.000006' 表示要同步的日志文件File,
	##是主服务器上述命令‘show master status;'查询出来的值 
	## master_log_pos=155 表示要同步日志文件的位置(多少行),详见上图。
change master to master_host='192.168.78.230',master_user='root',master_password='root',master_log_file='mysql-bin.000006',master_log_pos=155;
#开启同步
start slave
#检查从服务器复制功能状态
show slave status;

基于centos7安装MySQL8主从复制配置_第7张图片
最后如上图所示红框中两个字段为yes表示已经成功开启了主从复制了。

4、功能测试

在主数据库230中新建表tb_uesr,然后在插入一条数据

## 新建tb_user表
CREATE TABLE `gi_test`.`tb_user`  (
  `id` bigint(0) NOT NULL AUTO_INCREMENT,
  `name` varchar(100) NULL,
  `password` varchar(100) NULL,
  PRIMARY KEY (`id`)
);

## 插入数据
INSERT INTO tb_user(name, `password`) VALUES('古天乐','123456');

再去从数据库查看是否存在tb_user及插入的数据,如果存在则表示已经配置成功,自我总结学习并分享给大家。
下一篇地址:基于centos7安装mycat服务配置读写分离

你可能感兴趣的:(mysql,mycat)