MySQL主从复制的原理和实践 *** 作

MySQL主从复制的原理和实践 *** 作,第1张

概述MySQL 主从(MySQL Replication),主要用于 MySQL 的实时备份、高可用HA、读写分离。在配置主从复制之前需要先准备 2 台 MySQL 服务器。 一、MySQL主从原理 1.

MysqL 主从(MysqL Replication),主要用于 MysqL 的实时备份、高可用HA、读写分离。在配置主从复制之前需要先准备 2 台 MysqL 服务器。

一、MysqL主从原理

1. 每个从仅可以设置一个主。
2. 主在执行 sql 之后,记录二进制 LOG 文件(bin-log)。
3. 从连接主,并从主获取 binlog,存于本地 relay-log,并从上次记住的位置起执行 sql,一旦遇到错误则停止同步。

二、Replication原理推论

1. 主从间的数据库不是实时同步,就算网络连接正常,也存在瞬间,主从数据不一致。
2. 如果主从的网络断开,从会在网络正常后,批量同步。
3. 如果对从进行修改数据,很可能从在执行主的bin-log出错而停止同步,一般不会修改从的数据。
4. 一个衍生的配置是双主,互为主从配置,只要双方的修改不冲突,可以工作良好。
5. 如果需要多主的话,可以用环形配置,这样任意一个节点的修改都可以同步到所有节点。
6. 可以应用在读写分离的场景中,用以降低单台 MysqL 服务器的 I/O。
7. 可以实现 MysqL 服务的 HA 集群。
8. 可以是一主多从,也可以是相互主从(主主)。

三、实验环境

*** 作系统:CentOS 6.8_x64
MysqL版本:5.1.73(主从版本要一致)
MysqL安装:yum安装的方式
主 IP 地址:192.168.0.8(master)
从 IP 地址:192.168.0.18(slave)

四、主从的基本配置

1、对master的设置

修改 master 数据库的配置文件,vim /etc/my.cnf

[MysqLd]... ... ... ...log-bin=MysqL-bin    # 二进制日志名称,开启bin-logserver-ID=8          # 为服务器设置一个独一无二的ID,这里用IP的最后一位。

重启 master 数据库服务:

service MysqLd restart

2、对slave的设置

对于 slave 的设置,不需要开启二进制日志,仅需要设置以下 server-ID 即可。

server-18

重启从服务区器。

五、创建主从复制账号

为了让 slave 能够通过 master 来获取二进制日志,需要专门给 slave 创建一个用户 repl,在主上 *** 作。

MysqL> grant replication slave on *.* to 'repl'@192.168.0.18' IDentifIEd by 123456';query OK,0 rows affected (0.00 sec)

六、查看主服务器BIN日志的信息

执行完之后记录下这两值,然后在配置完从服务器之前不要对主服务器进行任何 *** 作,因为每次 *** 作数据库时这两值会发生改变。

七、设置从服务器并启用slave

从上执行如下代码:

在从服务器配置完成,启动从服务器:

查看主从设置是否成功:

上面两项均为yes,说明配置成功。

八、测试主从

在主节点上创建一个数据库test或一张表table,然后在从节点上查看是否有test数据库或table表的创建。

 

总结

以上是内存溢出为你收集整理的MySQL主从复制的原理和实践 *** 作全部内容,希望文章能够帮你解决MySQL主从复制的原理和实践 *** 作所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1152368.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存