mariadb10.8 主主同步 相互复制
创始人
2024-01-28 14:18:07
0

1. 配置说明

  • 操作系统:CentOS7

  • CPU指令集:x86_64

  • host1 主机:

    • 2 core 2G 40G
    • IP:192.168.0.98
  • host2 主机:

    • 2 core 2G 40G
    • IP:192.168.0.166

2. 数据库安装

见 MariaDB官方下载文档 https://mariadb.org/download

选择 CentOS 的 x86_64架构的 10.8 版本,源选择阿里云,如下:
在这里插入图片描述

创建repo

vi /etc/yum.repos.d/MariaDB.repo

贴入一下内容

# MariaDB 10.8 CentOS repository list - created 2022-11-17 02:48 UTC
# https://mariadb.org/download/
[mariadb]
name = MariaDB
baseurl = https://mirrors.aliyun.com/mariadb/yum/10.8/centos7-amd64
gpgkey=https://mirrors.aliyun.com/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck=1

安装数据库

sudo yum install -y MariaDB-server MariaDB-client

在这里插入图片描述

3. 启动并初始化

启动数据库

systemctl start mariadb

初始化数据库

mariadb-secure-installation

根据提示操作即可
在这里插入图片描述

4. 数据库 主主同步配置

配说明见官方文档 mariadb . Setting Up Replication

  • 若你的数据库中已经存在数据请在同步前将主库的数据通过 导出 mariadb-dump 并在另一台主机上导入,见 6 数据库手动同步。

  • 若您已经存在主机,那么请先配置从机

4.1 主机2 同步配置

编辑 /etc/my.conf配置文件加入以下内容

[mariadb]
log-bin
server_id=2
log-basename=master2
binlog-format=mixed

在这里插入图片描述
这里配置 server_id 为2,日志命名为master2这个名字可以是主机名也可自定义,该名字是biglog的文件的命名前缀。

重启数据库

systemctl restart mariadb

登录 host2的数据库,检查当前数据库主机状态,可以看到master2的biglog和位置。

show master status;

在这里插入图片描述
创建专用于数据库同步的用户replication_user,并授权SLAVE

CREATE USER 'replication_user'@'%' IDENTIFIED BY 'bigs3cret';
GRANT REPLICATION SLAVE ON *.* TO 'replication_user'@'%';

停止从机同步

STOP SLAVE;

在这里插入图片描述

4.2 主机1 同步配置

编辑 /etc/my.conf配置文件加入以下内容

[mariadb]
log-bin
server_id=1
log-basename=master1
binlog-format=mixed

在这里插入图片描述
这里配置 server_id 为1,日志命名为master1这个名字可以是主机名也可自定义,该名字是biglog的文件的命名前缀。

重启数据库

systemctl restart mariadb

登录 host1的数据库,检查当前数据库主机状态,可以看到master1的biglog和位置。

show master status;

在这里插入图片描述

登录 host1的数据库,创建专用于数据库同步的用户replication_user,并授权SLAVE

CREATE USER 'replication_user'@'%' IDENTIFIED BY 'bigs3cret';
GRANT REPLICATION SLAVE ON *.* TO 'replication_user'@'%';

停止从机同步

STOP SLAVE;

在这里插入图片描述

4.3 主机2 同步配置

host2从host1同步的数据,配置host1的IP和同步用户。

注意:当前处于Host2,需要配置Host1的IP和用户

CHANGE MASTER TOMASTER_HOST='192.168.0.98',MASTER_USER='replication_user',MASTER_PASSWORD='bigs3cret',MASTER_PORT=3306,MASTER_CONNECT_RETRY=10;

启用SLAVE复制

start slave;

在这里插入图片描述

查看复制情况

show slave status \G

在这里插入图片描述

到这里 主机2 从 主机1 的复制已经完成,接下来以同样的方式配置 主机1。

4.4 主机1 同步配置

host1从host2同步的数据,配置host2的IP和同步用户。

注意:当前处于Host1,需要配置Host2的IP和用户

CHANGE MASTER TOMASTER_HOST='192.168.0.166',MASTER_USER='replication_user',MASTER_PASSWORD='bigs3cret',MASTER_PORT=3306,MASTER_CONNECT_RETRY=10;

启用SLAVE复制

start slave;

在这里插入图片描述

查看复制情况

show slave status \G

在这里插入图片描述

到这里 主机1 从 主机2 的复制已经完成,两个数据库已经可以相互复制。

5. 验证

登录 host2 的数据库创建数据库

create database tmp_166;
show databases;

在这里插入图片描述

登录 host1 数据库可以看到数据库已经同步过来了。

在这里插入图片描述

6. [可选]数据库手动同步

注:该步骤为可选步骤请根据情况选择是否操作!!

数据库在同步前已经存在一些数据库以及用户的情况下,可以使用mariadb-dump实现数据库导出,然后手动导入,实现初始化的数据库同步,注意该操作需要在数据库同步配置操作前进行

首先到已经存在的数据库上运行

mariadb-dump -u root -p --all-databases > db.sql

在输入完登录口令后,将会把所有数据库都导出成SQL保存在 db.sql文件中,当然你也可以选择仅导出部分数据库,但是这样的话你需要在另外一个mariadb上创建同样的数据库,详见 官方文档 mariadb-dump/mysqldump 。

接下来我们到另一台需要同步的主机上执行导入命令:

mariadb -u root -p < db.sql     

参考文献

[1]. mariadb . Setting Up Replication . https://mariadb.com/kb/en/setting-up-replication/#replicating-from-mysql-master-to-mariadb-slave
[2]. mariadb . mariadb-dump/mysqldump . https://mariadb.com/kb/en/mariadb-dumpmysqldump/

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
一帆风顺二龙腾飞三阳开泰祝福语... 本篇文章极速百科给大家谈谈一帆风顺二龙腾飞三阳开泰祝福语,以及一帆风顺二龙腾飞三阳开泰祝福语结婚对应...
美团联名卡审核成功待激活(美团... 今天百科达人给各位分享美团联名卡审核成功待激活的知识,其中也会对美团联名卡审核未通过进行解释,如果能...