CentOS7中两个mysql实例搭建以及主从同步备份

起因

最近,有朋友公司的数据库由于数据量过大给宕机了,宕机了,宕机了,我就在担忧自己公司的数据库,和公司专门做数据的同事做了沟通,才知道,我们的数据库是有两个实例,分别作为主从数据库,这样主数据库做数据修改,而从数据库只做查询,这样大大减少了数据库的压力,可以保证数据库的性能速度,我们数据库还是比较安全的。听了这之后,觉得很是牛逼,自觉的把数据库主从同步列入了我的学习计划,终于抽出时间开心的去学习了
开心的打开百度,查询文档,跟着操作,哎,报错,不行
再查,文档是一样的哎,再查,有点门了,走走走,又报错
我的妈呀,还挺难安装配置的呢
在查询了很多文档,并和做数据的同事沟通之后,主从同步终于搭建好了(看下图,下图,这里是欢呼、掌声)
在这里插入图片描述

踩了网上文档的坑之后,我觉得我作为一个勤学的码农,必须整理出一份完整的文档,来避免后面的同学踩坑,所以所以所以,下面这篇文档他来了。

环境说明:

服务器:CentOS7
数据库:MySQL5.7.25
端口:3306、3307
3306为主数据库
3307为从数据库
一个服务器,一个数据库,两个实例搭建主从同步

第一步呢:删除数据库

先删除服务器自身带的数据库或之前装好的数据库,我为了截图,把数据库删的干干净净了,你们可以跳过这一步,哈哈
需要删除的同学们看过来:点击这里->彻底删除数据库https://blog.csdn.net/M_y_y/article/details/106499767

第二步呢:安装数据库实例

开始安装配置两个数据库实例:
需要的同学看这里->centos中安装部署两个mysql实例(主从同步实例创建)
https://blog.csdn.net/M_y_y/article/details/106468749

第三步呢:开始做主同步的配置

需要的同学看下文,哈哈哈

  1. 先保证两个数据库中数据一样
    在这里插入图片描述

开始配置主数据库

  1. 修改my.cnf配置文件
log-bin=/usr/local/soft/mysql/mysql3306/logs/mysql-bin.log //自己存储log的位置
server-id=1      //设置数据库服务器唯一ID,这里我们指定为1。
binlog-do-db=project  //设置需要同步的数据库,如果需要设置多个,则加入多条这行语句。

在这里插入图片描述

  1. 之后登陆主数据库:
  2. 启动3306数据库实例:
./mysql -S /usr/local/soft/mysql/mysql3306/data//mysql.sock -P 3306
  1. 连接3306数据库,并且输入密码:
./mysql --socket=/usr/local/soft/mysql/mysql3306/data/mysql.sock --port=3306 -u root -p
Enter password: 
  1. 添加一个用于备份的用户:名称为slave(可自定义),密码为123(可自定义)
grant replication slave on *.* to 'slave'@'%' identified by '1234';

在这里插入图片描述

  1. 查看用户是否创建成功
use mysql;
select user ,host from user;

在这里插入图片描述

  1. 查看主机配置状态

将图片保存,以下数据在配置从库时要进行使用(注意图中圈出来的两个数据,下面需要使用的,切记切记)

show master status;

在这里插入图片描述
主库这时就配置完了,

现在开始配置从库

  1. 进入从库的my.cnf文件

添加以下命令:log-bin(你要保存的位置,个人而定)server-id(每个实例唯一标识)

log-bin=/usr/local/soft/mysql/mysql3307/logs/mysql-bin.log
server-id=2

在这里插入图片描述

  1. 重新连接mysql3307

在这里插入图片描述

  1. 创建与主机的关系

在mysql中输入命令连接主机(master_log_file和master_log_pos对应主机充查询到的信息值,是上面说了保存的信息,忘记了往上翻看):

change master to master_host='主机ip',master_user='slave',master_password='1234',master_port=3306,master_log_file='mysql-bin.000006',master_log_pos=154;
  1. 现在启动从机同步:
 start slave;

在这里插入图片描述

成功

我框起来的两个数据都必须是YES才代表你成功了,成功的同学可以先欢呼了,有问题的同学不着急,请看问题解决
在这里插入图片描述

问题解决

Slave_IO_Running或Slave_SQL_Running有一个不是YES的,你进行同步都会不成功
如果不成功,请看下面,
(1)出现Slave_IO_Running为Connecting
解决方法:查看防火墙开了没
查看创建连接时账号密码是否正确
(2)出现Slave_SQL_Running为no
解决方法:依次输入一下命令解决

stop slave;                                                      
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1; START SLAVE;            
start slave;                                                      
show slave status\G  

就是这些了,看到这里你的主从应该已经搭建成功了,如果你你你,还没有,还没有搭建成功,还是遇到错误,请不要慌张,先百度进行查询你的问题,实在不行,你还可以,你还可以在评论区留言,我看见了一定会回复的
如果你害怕我看不到,那只有这样了,看下面
首要可加我微信、如果你害羞的话还可以加我的微信群(我还是很想让你关注我公众号的)
二维码都贴在下面了,你看着办吧在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值