• s**u 下载了资源 烽火娱乐多语言彩票娱乐城源码/FS娱乐城+系统彩+活动返水+聊天室28游戏+IM即时通讯+合买跟单/前端vue编译后+后端PHP
  • s**u 下载了资源 烽火娱乐多语言彩票娱乐城源码/FS娱乐城+系统彩+活动返水+聊天室28游戏+IM即时通讯+合买跟单/前端vue编译后+后端PHP
  • 奇*猫 下载了资源 免费2025彩虹易支付前端新模板美化版源码免费下载
  • 奇*猫 下载了资源 价值300元2025新版免登入注册成人用品商城系统源码/性用品商城系统/情趣用品商城
  • 奇*猫 下载了资源 【全开源】跑腿小程序/智能派单/系统派单/同城配送/校园跑腿/预约取件/用户端+骑手端
  • 奇*猫 下载了资源 SSL证书管理系统工具网站源码,自动申请、部署SSL证书,并在证书即将过期时自动
  • 奇*猫 下载了资源 全开源TikTok跨境商城源码/TikTok内嵌商城源码 前端uniapp+后端
  • 奇*猫 下载了资源 价值800元的【修复版】红娘金媒10.3.1婚恋相亲系统源码+安装教程
  • 奇*猫 下载了资源 仿天涯论坛系统源码带后台 支持打包APP安装包 开放式PHP原生态模板
  • 奇*猫 下载了资源 房屋租赁系统源码下载 带员工管理系统

数据库安装配置好后,如果你的web项目对数据要求比较严谨,那就需要对数据进行备份。一般项目我们采用主从双机热备份机制来保证数据可靠性,当然也可以采用主主互备高可用机制。本文先介绍Mysql/MariaDB主从双机热备份的配置。

准备

1、主数据库使用CentOS7.2操作系统,MariaDB版本是10.2.12,IP是192.168.11.34。

2、从数据库也使用CentOS7.2操作系统,MariaDB版本也是10.2.12,IP是192.168.11.31。

两台机器环境都一样,保证可以互通,如果开启防火墙的一定记得将MariaDB的3306端口允许开放,如果还不会安装MariaDB的同学可以参考本站文章:《Linux下使用二进制格式安装MariaDB》和《CentOS7下源码编译安装MariaDB 10.2》。

配置主数据库Master

1、设置数据库配置文件

在主服务器(192.168.11.34)上打开MariaDB的配置文件:/etc/my.cnf,找到如下配置项,如果没有请自行添加。

server-id = 1
log-bin = mysql-bin

server-id = 1是指数据库的唯一ID号,默认从1开始。

log-bin = mysql-bin启用二进制日志,备份复制其实就是根据日志来的。

2、重启MariaDB数据库

第1步设置好,需要重启数据库,输入命令/etc/init.d/mariadb restart

[root@localhost ~]# /etc/init.d/mariadb restart
Restarting mariadb (via systemctl):                        [  确定  ]

或者直接输入:

systemctl restart mariadb

3、建立账户并授权从数据库访问

进入MariaDB命令行模式下,输入:

grant replication slave on *.* to 'slave'@'%' identified by '123456x';

以上命令在主数据库中创建了一个专门用于数据备份的账号,账号名为slave,密码为123456x,允许从数据库访问。

如果只允许从数据库连接,可以将以上命令中的“%”改成从数据库的IP即可,参照:《MariaDB/MySQL安全配置以及账户管理》。

奖励好账户后,重载权限使之立即生效。

flush privileges;

4、检查主数据库的master状态

在MariaDB的命令行中输入show master status;,会列出当前主数据库用户同步复制的关键参数:

MariaDB [(none)]> show master status;
+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000004 |     2259 |              |                  |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)

我们需要记下File和Position两项的值,他们分别表示bin日志文件名和数据偏移量。

配置从数据库Slave

1、设置从数据库配置文件:/etc/my.cnf。

server-id = 2
log-bin = mysql-bin
replicate-do-db = helloweba

以上选项中,server-id = 2表示从数据库ID,一定不能和主数据库一样。

log-bin = mysql-bin二进制日志。

replicate-do-db = helloweba设置了允许同步复制的数据库为helloweba,如果不设置则可注释掉该行。

2、重启数据库

和主数据库一样,配置好后要重启数据库使配置生效。

[root@localhost ~]# /etc/init.d/mariadb restart
Restarting mariadb (via systemctl):                        [  确定  ]

3、执行复制命令

进入从数据库命令行模式,输入命令:

change master to master_host='192.168.11.34',master_port=3306,master_user='slave',master_password='123456x',master_log_file='mysql-bin.000004',master_log_pos=2259;

master_host是指主数据库服务器的IP(192.168.11.34),master_user是指登录连接主数据库的账号(slave),master_password是指账号对应的密码,master_port是指主数据库的端口号(3306),master_log_file就是主数据库master状态对应的File文件,master_log_pos就是主数据库master状态对应的Position参数。

4、启动slave同步

数据库命令行模式下,输入start slave;命令:

MariaDB [(none)]> start slave;
Query OK, 0 rows affected (0.01 sec)

5、查看slave同步的状态

输入show slave status\G;命令:

MariaDB [(none)]> show slave status\G;
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 192.168.11.34
                  Master_User: slave
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: mysql-bin.000004
          Read_Master_Log_Pos: 2259
               Relay_Log_File: mariadb-relay-bin.000004
                Relay_Log_Pos: 555
        Relay_Master_Log_File: mysql-bin.000004
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
              Replicate_Do_DB: helloweba
          Replicate_Ignore_DB: 

查看Slave_IO_RunningSlave_SQL_Running是否都为yes(一定要全部为yes)。

验证

主从库配置好后,为了验证数据是否同步复制了,可以在主数据库中插入一条数据,然后到从数据库中查看是否也插入了一条数据。同样的,对主数据库的修改和删除操作,在从数据库中也自动进行了相应的操作。

Mysql的主从配置和MariaDB是一样的,接下来我们会有文章介绍Mysql/MariaDB的读写分离、主主互备高可用容灾机制,敬请关注。

在线客服请认准 @Pan10yuanma   👈直接点击联系客服,注意核实账号!!!

 
显示验证码
没有账号?注册  忘记密码?