MySQL主从复制配置
1、主从复制原理
- 在主库上把数据更改记录到二进制日志中(Binary Log)中,这些记录称为二进制日志事件。
- 从库通过IO线程将主库上的日志复制到自己的中继日志(Relay Log)中。
- 从库通过SQL线程读取中继日志中的事件,将其重放到自己数据上。
1.1、环境准备
两台服务器均要安装mysql数据库,linux安装mysql数据库链接:https://blog.csdn.net/qq_34846877/article/details/122361960
服务器环境:centos7 mysql版本:8.0.18
主服务器:192.168.78.230
从服务器:192.168.78.235
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
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 ~]# 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值表示已经配置成功
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;
最后如上图所示红框中两个字段为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服务配置读写分离