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

不点 阅读:687 2021-03-31 12:52:44 评论:0

1、主从复制原理

  1. 在主库上把数据更改记录到二进制日志中(Binary Log)中,这些记录称为二进制日志事件。
  2. 从库通过IO线程将主库上的日志复制到自己的中继日志(Relay Log)中。
  3. 从库通过SQL线程读取中继日志中的事件,将其重放到自己数据上。
    在这里插入图片描述

1.1、环境准备

centos7安装mysql8数据库参考文章地址
服务器环境:centos7 mysql版本:8.0.18
主服务器:192.168.60.165
从服务器:192.168.60.206
有其它文章都是部分操作命令是在服务器mysql终端上操作的,如下我将用navicat连接数据库执行命令。

2、主服务器节点

2.1、修改my.cnf文件

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

2.1.1、验证配置是否成功

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

2.1.2、验证查询server_id是否存在

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

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

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

3、从服务器节点

3.1、修改my.cnf文件

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

3.2、验证配置是否成功

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

3.2.1、验证查询server_id是否存在

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

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

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

注意:上图所示红框中两个字段为yes表示已经成功开启了主从复制。

4、功能测试

在主数据库192.168.60.165中新建表tb_uesr

DROP TABLE IF EXISTS `t_user`; 
CREATE TABLE `t_user` ( 
`user_id` bigint(20) NOT NULL COMMENT '用户id', 
`fullname` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '用户姓名', 
`user_type` char(1) DEFAULT NULL COMMENT '用户类型', 
PRIMARY KEY (`user_id`) USING BTREE 
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

再去从数据库192.168.60.206查看表是否存在tb_user,如果存在则表示已经配置成功

标签:mysql
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号