搭建mysql主从复制


前言

之前学习MySQL的时候一直听说主从复制,但是没有具体的落地实现,今天进行一次实操记录下实现过程,也方便日后使用的时候可以有正确的参考

一、首先要先有两个主机,在上面都安装上mysql

我采取的主机为远程服务器(CentOS 7 mysql8),从节点用的是本机(win 10 mysql8)

二、安装好之后对配置文件进行修改

1.对主节点master配置文件进行修改(远程服务器)

我的配置文件目录为 /etc/my.cnf
在这里插入图片描述

//指定下bin文件
log_bin=imooc-bin
//指定下主节点的id(唯一不能重复)
server-id=1
//指定下要同步哪个库,这里是db库
binlog-do-db=db

2.修改本地slave数据库的配置文件

我的目录为C:\ProgramData\MySQL\MySQL Server 8.0\my.ini
在这里插入图片描述

//指定唯一id
server-id=2
//这里的意思为只能读,不能其他操作,如果说想有写操作将值设置为0
read-only=1
//指定数据库
replicate-do-db=db

配置完之后均需要重启mysql服务

三、主服务器建立用户

CREATE USER 'slave'@'%' IDENTIFIED BY 'xxxxxxx';#创建新的账号,账号名称为slave,密码为xxxxxxx
GRANT REPLICATION SLAVE ON *.* TO 'slave'@'%'; #给账号slave同步binlog的权限
FLUSH PRIVILEGES;#刷新一下 

之后执行

show master status;

在这里插入图片描述
这两个值要记下来,后面要用到

四、建立连接

从服务器(本机)建立连接

#master服务器的ip地址
CHANGE MASTER TO master_host ='xx.xxx.xxx.xx',
#第三步创建的账户
master_user ='slave',
#第三步创建的密码
master_password ='xxxxxxx',
#上图中的File
master_log_file ='imooc-bin.000001',
#上图中的position
master_log_pos = 2831;

执行

start slave ;

五、大功告成

执行

show slave status;

看两个字段
在这里插入图片描述
这两个字段如果都是yes,就成功了;

总结

其实配置不难,说下我在配置中遇到的问题吧
1、要注意下服务器中3306的端口要放开
2、设置密码的时候尽量设置符合规则的,否则可能会失败
3、权限别忘加了,可以在mysql里的user表看一下
4、在主从复制的时候其实是在position之后赋值的,要注意如果之前主库中有数据,就别动之前的数据了,否则成功后也会变成失败
5、如果数据库的版本比较新8.0.22之后,可能链接的时候有所不同,可以用下面的sql,其实参数都是这些只不过是属性名称变了

CHANGE REPLICATION SOURCE TO SOURCE_HOST='xx.xxx.xxx.xx',SOURCE_USER='slave',SOURCE_PASSWORD='xxxxxx',SOURCE_LOG_FILE='imooc-bin.000001',SOURCE_LOG_POS='2831';

执行的时候使用

start replica;

查看的时候使用

show replica status;

我遇到的问题大概就是这些,希望可以帮助到刚刚准备搭建主从的小伙伴

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值