Linux实现mysql主从同步

mysql主从复制原理

1–master将操作语句记录到binlog日志中,然后授予slave远程连接的权限(master一定要开启binlog二进制日志功能;通常为了数据安全考虑,slave也开启binlog功能)。

2–slave开启两个线程:IO线程和SQL线程。其中:IO线程负责读取master的binlog内容到中继日志relay log里;SQL线程负责从relay log日志里读出binlog内容,并更新到slave的数据库里,这样就能保证slave数据和master数据保持一致了。

3–Mysql复制至少需要两个Mysql的服务,当然Mysql服务可以分布在不同的服务器上,也可以在一台服务器上启动多个服务。

4–Mysql复制最好确保master和slave服务器上的Mysql版本相同(如果不能满足版本一致,那么要保证master主节点的版本低于slave从节点的版本)

5–master和slave两节点间时间需同步

此次安装架构

在这里插入图片描述
master ip :192.168.198.7
slave1 ip: 192.168.198.17
slave2 ip:192.168.198.27

安装mysql

参照: mysql安装

开启二进制日志

主节点配置文件设置

	开启二进制日志
	log_bin=master_bin
	设置当前节点全局唯一ID
	server-id=7

在这里插入图片描述

重启mysql服务
service mysql start
查看从二进制日志的文件和位置开始进行复制
mysql> show master status;

在这里插入图片描述

创建有复制权限的用户账号
create user repluser @'192.168.198.%' identified by 'qazxsw@123';
mysql> grant replication slave on *.* to repluser@'192.168.198.%';

从节点配置

	#为当前节点设置一个全局惟的ID号
	server_id=17
	#开启二进制日志
	log-bin=slave_log
	#设置从数据库只读(对root用户无效)
	read_only=ON
	#relay log的文件路径
	relay_log=relay-log
	#默认值hostname-relay-bin.index
	relay_log_index=relay-log.index

使用有复制权限的用户账号连接至主服务器,并启动复制线程

mysql> change master to master_host='192.168.198.7',master_user='repluser',master_password='qazxsw@123',master_log_file='master_bin.000001',MASTER_LOG_POS=1620;

mysql> START SLAVE;
mysql> SHOW SLAVE STATUS\G;

在这里插入图片描述
测试
在主数据库创建一个数据库,在从库查看是否同步

mysql> create database test;
mysql> show databases;

在这里插入图片描述
从库查看
在这里插入图片描述
在这里插入图片描述
至此,主从配置完毕
若需要取消主从复制
先停止从库复制进程

	stop slave;
	reset slave all;
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

雨煮夕阳

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值