mysql复制功能的三个步骤讲解
admin
2023-05-13 04:41:37
0

下文内容主要给大家带来mysql复制功能的三个步骤讲解,这里所讲到的知识,与书籍略有不同,都是专业技术人员在与用户接触过程中,总结出来的,具有一定的经验分享价值,希望给广大读者带来帮助。

mysql的复制功能主要有3个步骤

主云服务器将改变记录到二进制日志中,(这些记录叫做二进制日志事件)

从服务器将主服务器的二进制日志事件拷贝到它的中继日志中

从服务器重做中继日志中的事件。

mysql复制功能的三个步骤讲解


该过程的第一部分就是主服务器记录二进制日志,在每个事务更新数据完成之前,master在二进制日志记录这些改变,mysql将事务串行的写入二进制日志,在事件写入二进制日志完成后,主服务器通知存储引擎提交事务,此后可接收从服务器的请求。

下一步就是从服务器将主服务的二进制日志拷贝到它自己的中继日志,首先,从服务器开始一个工作线程,即I/O线程,I/O线程在主服务器上打开一个普通的连接,然后开始在主节点上binlog dump process(二进制转存线程)。binlog dump process从主服务器的二进制日志中读取事件,如果已经跟上主服务器,它会睡眠并等待主服务器产生新的事件,I/O线程将这些事件写入中继日志中。

SQL从线程处理该过程的最后一步,SQL线程从中继日志中读取事件,并重放其中的事件而更新从服务的数据,使其与主服务中的数据一致,。只要该线程与I/O线程保持一致,中继日志通常会位于Os的缓存中,所以中继日志的开销很小。

mysql实现数据库的主从复制

环境准备:centos系统服务器2台,一台用户做mysql主服务器,一台用于做mysql从服务器,配置好yum源,防火墙关闭,各节点时钟服务同步,各节点之间可以通过主机名互相通信。

二:准备步骤 iptables –F && sentenforce清空防火墙策略,关闭selinux

分别启动两台服务器mysql服务,确保服务正常。

[root@centos7 ~]# yum install -y mariadb
[root@centos7 ~]# yum install -y mariadb-server
[root@centos7 ~]# systemctl restart mariadb
[root@centos7 ~]# iptables -F
[root@centos7 ~]# getenforce


mysql复制功能的三个步骤讲解

 配置master主服务器

包括打开二进制文件,指定唯一的server ID

server-id  #配置server-id,让主服务器有唯一的ID号

log-bin=mysql-bin  #打开mysql日志,日志格式为二进制

skip-name-resolve #关闭名称解析(非必须)

[root@centos7 ~]# vim /etc/my.cnf
[mysqld]
server-id = 1
log-bin = master-log
skip_name_resolve = ON
保存退出
[root@centos7 ~]# systemctl restart  mariadb

查看主服务器的状态

mysql复制功能的三个步骤讲解


创建复制账号

在主服务器的数据库中建立一个备份账户,每个从服务器使用标准的mysql用户名和密码连接主服务器,进行复制操作的用户

MariaDB [(none)]> grant replication slave,replication client on *.* to 'slave'@'172.17.%.%' identified by '123456';

配置从服务器

对从服务器进行配置,打开中继日志,指定唯一的server ID,设置只读权限,在配置文件中加入如下值

server-id=2 #配置server-id,让从服务器有唯一ID号
relay_log = mysql-relay-bin #打开Mysql日志,日志格式为二进制
read_only = 1 #设置只读权限
log_bin = mysql-bin #开启从服务器二进制日志
log_slave_updates = 1 #使得更新的数据写进二进制日志中

server-id=2
relay-log=mysql-relay-bin
read-only=1
log-bin=mysql-bin
log-slave-updates=1

然后重启服务

[root@centos7 ~]# systemctl restart mariadb

启动从服务器复制线程,让从服务器连接主服务器,并开始重做主服务器

MariaDB [(none)]> change master to master_host='172.17.252.89',
    -> master_user='slave',
    -> master_password='123456',
    -> master_log_file='master-log.000006',
    -> master_log_pos=245;

然后在数据库中执行start slave; 启动复制线程

查看从服务器的状态

可使用SHOW SLAVE STATUS\G查看从服务器状态,如下所示,也可用show processlist \G查看当前复制状态

mysql复制功能的三个步骤讲解

然后我们在主服务器上建一个数据库

mysql复制功能的三个步骤讲解

然后在从服务器上就可以看到这个数据库,主从复制就实现成功了。

mysql复制功能的三个步骤讲解


对于以上关于mysql复制功能的三个步骤讲解,如果大家还有更多需要了解的可以持续关注我们的行业推新,如需获取专业解答,可在官网联系售前售后的,希望该文章可给大家带来一定的知识更新。

 


相关内容

热门资讯

时隔两年,农业农村部再调整这一... ‍‍5月14日,农业农村部发布消息称,近日,农业农村部印发《生猪产能综合调控实施方案(2026年修订...
官宣!天风证券迎来新任总裁 【大河财立方消息】5月14日晚间,天风证券公告,近期收到王琳晶递交的书面辞职报告。因个人原因,王琳晶...
特朗普访华,欢迎晚宴上有哪些中... 【大河财立方 记者 闫文瑞】 5月14日晚,欢迎美国总统特朗普访华宴会上,多位中国领军企业家受邀出席...
央行缩量续作3000亿元买断式... 【大河财立方 记者 杨萨】 5月14日,央行公告称,为保持银行体系流动性充裕,2026年5月15日,...
京东物流切入商业航天场景 【大河财立方消息】 据京东物流黑板报,5月14日,蓝箭航天朱雀二号改进型遥五运载火箭(ZQ-2E Y...
首超3000亿元!河南前四个月... 【大河财立方 记者 丁洋涛】今年1—4月,河南外贸规模历史同期首次超3000亿元。5月14日,记者从...
菲律宾将调查“参议院枪击事件” 【环球时报驻菲律宾特派记者 樊帆 郑真】菲律宾参议院大楼13日晚传出数十声枪响和人群惊慌失措的尖叫声...
五个快递员的故事里,藏着你我生... 【大河财立方 记者 丁洋涛 裴熔熔 北京报道】 5月14日下午,国务院新闻办发布厅,一场特殊的见面会...
M2同比增长8.6%!央行发布... 【大河财立方消息】5月14日,中国人民银行发布2026年4月金融统计数据报告。一、社会融资规模存量同...
河南完成发行259.35亿元地... 【大河财立方消息】河南省财政厅消息,5月14日,河南省在深圳成功发行政府债券259.35亿元。其中:...