centos7下mariadb10.2基于logbin的主从配置手记

万能的互联网上相关描述总是很“详细”,满满的都是code,我这一次还算顺利,没有太多内容。

说起来惭愧,因为我个把月前被病毒勒索过,磁盘上所有文件都被加密,让我确定了必须同时使用多种方式保护数据的想法。

保护mariadb的数据,除了定时备份外,还有个必不可少的办法就是在异地机房配个从库,既备份了数据库,还可以分担读压力。

1、两台安装好mariadb10.2的centos7,其中

主数据库10.45.98.135,有数据

从数据库10.45.3.179,无数据

先把主服务器中的库导出,并导入进从数据库

2、修改配置

主数据库配置:

[mysqld]
#其他不相关配置
log-bin=mysql-bin
binlog_format=mixed
server-id = 1
binlog-do-db=要同步的数据库
binlog-ignore-db=mysql
从数据库配置:

[mysqld]
#其他不相关配置
binlog_format=mixed
server-id = 2
read-only=on
relay-log=relay-bin
replicate-do-db=要同步的数据库
replicate-ignore-db=mysql
配置完后两个mariadb都重启一下,systemctl restart mysql

查看主数据库状态:show master status;记住file和position,下一步要用。

(替换到MASTER_LOG_FILE和MASTER_LOG_POS处,我的是mysql-bin.000003和342)

3、在从数据库上把主数据库的信息替换到以下sql中执行。

CHANGE MASTER TO   
    MASTER_HOST='10.45.98.135',
    MASTER_USER='root',
    MASTER_PASSWORD='password',
    MASTER_LOG_FILE='mysql-bin.000003',
    MASTER_LOG_POS=342;
    
START SLAVE;

SHOW SLAVE STATUS;
从show slave status的结果中看到,如果 Slave_SQL_Running 的值为Yes,Seconds_Bebind_Master的值为0,表示正常,此时可以在主库上做写操作,默认Connect_Retry=60秒内可以在从库上看到变化。

以上,我两台mariadb都分别是在docker中,centos镜像是docker.io默认的CentOS Linux release 7.4.1708 (Core),mariadb是MySQL Server: 10.2.12-MariaDB-log。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值