MySQL主从备份


1、配置

一台 centos 数据库 主数据库 (master)
端口:3306
地址:106.11.111.11

一台 docker 数据库 从数据库 (slave)
端口:3307
地址:106.11.111.12

因为资源有限,只好先这样搭建两台数据库进行测试使用。在正常情况下使用,最少是两台服务器进行操作。

操作的步骤都是一样的,不用在意我使用的是容器。在主从数据库我会先建两个相同的数据库

centos的数据库已经安装好了

运行容器数据库,可以参考:
https://blog.csdn.net/qq_38637558/article/details/101231395

# 首先检查主从两台Mysql是否作为其他master的slave,并停止复制,以免受到影响。
show slave status\G
stop slave;   

2、配置主数据库

修改my.cnf,开启二进制日志,设置server_id
我的位置在:/usr/local/mysql

[mysqld]
log-bin=mysql-bin #开启二进制日志
server-id=1 #设置server-id

我这边做演示,下面这串我没有进行配置

# 不同步哪些数据库  
binlog-ignore-db = mysql  
binlog-ignore-db = test  
binlog-ignore-db = information_schema  
  
# 只同步哪些数据库,除此之外,其他不同步  
binlog-do-db = game  

在这里插入图片描述

# 重启MySQL
service mysqld restart

创建账号

# 进入MySQL
mysql -h127.0.0.1 -uroot -p
#创建用户 106.11.111.12  (从服务器的IP)
CREATE USER 'sla'@'106.11.111.12' IDENTIFIED BY 'password123';
#分配权限
GRANT REPLICATION SLAVE ON *.* TO 'sla'@'106.11.111.12';
 #刷新权限
flush privileges;  

查看master状态,记录二进制文件名(mysql-bin.000007)和位置(512):
在这里插入图片描述

3、配置从数据库

一样找到my.cnf文件,修改my.cnf文件

[mysqld]
server-id=2 #设置server-id,必须唯一

在这里插入图片描述
重启 从数据库,
进入MySQL,执行同步SQL语句

mysql> CHANGE MASTER TO
    -> MASTER_HOST='106.11.111.11',
    -> MASTER_USER='sla',
    -> MASTER_PASSWORD='password123',
    -> MASTER_PORT=3306,
    -> MASTER_LOG_FILE='mysql-bin.000007',
    -> MASTER_LOG_POS=512;

MASTER_HOST:主数据库地址
MASTER_USER:用户名
MASTER_PASSWORD:密码
MASTER_PORT:端口,如果是3306可以不写
MASTER_LOG_FILE:指定开始复制的binlog二进制文件。
MASTER_LOG_POS:指定(在master二进制文件中)要开始复制的位置

# 整合成一段
CHANGE MASTER TO MASTER_HOST='106.11.111.11', MASTER_USER='sla', MASTER_PASSWORD='password123', MASTER_PORT=3306, MASTER_LOG_FILE='mysql-bin.000007', MASTER_LOG_POS=512;

在这里插入图片描述

启动slave同步进程:
start slave;

查看slave状态:
show slave status\G

在这里插入图片描述
这两个为yes,就证明主从已经配置成功
操作主数据库数据,从数据库数据也会跟着更新

4、杂谈

show slave status\G;
不要带分号 “;”
不然会出现错误,不影响什么
在这里插入图片描述



然后就是注意用户名,密码,二进制文件名,要开始复制的位置,这些不要填写错误就没有什么问题




有个问题需要特别注意,当我们开启了主从备份,需要注意数据库的函数调用,调用函数可能会出现问题,解决方法可参考:
https://blog.csdn.net/lost_in_the_woods/article/details/81589294
https://blog.csdn.net/topasstem8/article/details/8216740








好了,就这样吧,告辞!
上一篇:docker部署MySQL
下一篇:主主备份
下下篇:定时清除备份文件

提供一个群:807770565,欢迎各位进来尬聊
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值