从零开始学习Linux:Day13 mysql 主从同步

穿精又带淫゛_ 提交于 2020-08-12 10:01:52

从零开始学习Linux:Day13 mysql 主从同步

mysql主从同步,可以实现mysql数据库备份,基于数据备份,从而实现故障转移或数据库读写分离。
常见的mysql主从架构一般有:一主一从,一主多从,互为主从。
下面主要分享:一主一从实现,即:一个主库,一个从库。从库的数据库环境完全与主库一致。

主库:192.168.68.128
从库:192.168.68.129

做mysql主从,建议主库、从库mysql版本要一致,不能出现mysql与mariadb混搭的情况。

这里测试环境,主库,从库都均为mariadb5.5
从零开始学习Linux:Day13 mysql 主从同步
从零开始学习Linux:Day13 mysql 主从同步

1、主从原理:
从零开始学习Linux:Day13 mysql 主从同步

主库先授权给从库,从库接到授权后,访问主库的二进制日志,拿 到二进制日志到从库的中继日志,从中继日志决定sql动作。

2、配置主库
由主从原理,
首先,要配置主库的二进制日志功能。
配置文件[mysqld]模块下增加:


server-id=1
log-bin=128-bin

确认二进制日志功能是否开启

show master status

从零开始学习Linux:Day13 mysql 主从同步
如上图可以看到二进制日志功能已经开启。
然后,授权给从库

grant replication slave on *.* to "tongbu"@"192.168.68.129" identified by "123456";

查看master主库状态:

flush privileges
show master status 

从零开始学习Linux:Day13 mysql 主从同步
3、配置从库
修改配置文件,在[mysqld]模块下增加:

server-id=2

重启mariadb服务
指定master

MariaDB [(none)]> change master to
    -> master_host="192.168.68.128",
    -> master_user="tongbu",
    -> master_password="123456",
    -> master_log_file="128-bin.000001",
-> master_log_pos=477;

查看从库slave状态

slave start
show slave status\G

从零开始学习Linux:Day13 mysql 主从同步

Slave_IO_Running:Yes
Slave_SQL_Running:Yes
表示从库配置成功。

4、测试
主库数据库:
从零开始学习Linux:Day13 mysql 主从同步
从库:
从零开始学习Linux:Day13 mysql 主从同步



现在在主库创建一个test002数据库
从零开始学习Linux:Day13 mysql 主从同步

查看从库情况,可以看到,从库数据库中出现了test002
从零开始学习Linux:Day13 mysql 主从同步

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!