MySQL主从数据库同步(巨详细),亲测好用!!!

主服务器IP192.168.1.88 从服务器IP192.168.1.21

Master 主服务器配置

首先找到MySQL配置文件的路径,mysql->bin->my.ini,复制一份,并改名进行备份(防止误操作导致MySQL崩掉!!!)

在这里插入图片描述

在my.ini文件中添加以下代码
port=3306 # mysql的端口号
server-id=88 # 服务器唯一id 保证唯一,不能重复(一般为ip最后一段)
log-bin=mysql-bin # 启用二进制日志
binlog-do-db=hn_jmcloud # 指定需要同步的数据库

在这里插入图片描述

切记!!!一定要重启MySQL数据库
在主库添加一个用户user并指定replication权限
在查询按钮下,新建查询,弹出输入语句的窗口,里面输入下面内容:
从服务器用户名user,从服务器密码jm123456,从服务器ip地址192.168.1.21
GRANT FILE ON *.* TO 'user'@'192.168.1.21' IDENTIFIED BY 'jm123456';
然后赋予权限
GRANT REPLICATION SLAVE ON *.* TO 'user'@'192.168.1.21' IDENTIFIED BY 'jm123456';
然后在可视化界面查看主服务器状态,记录下值
show master status;
这样即为成功,这个的时候master就配置完成了,不用再动了

在这里插入图片描述

Slave从服务器配置

首先找到MySQL配置文件的路径,mysql->bin->my.ini,复制一份,并改名进行备份(防止误操作导致MySQL崩掉!!!)

在这里插入图片描述

在my.ini文件中添加以下代码
port=3307 # mysql的端口号
server-id=21 # 服务器唯一id 保证唯一,不能重复(一般为ip最后一段)

在这里插入图片描述

切记!!!一定要重启MySQL数据库
接下来配置与主服务器的连接
change master to master_host='192.168.1.88',master_user='user',master_password='jm123456',master_log_file='mysql-bin.000023',master_log_pos=1834
这里的master_log_file和master_log_pos对应刚才show master status记下的参数 用户名跟密码也是写自己刚去创建的执行完毕之后开启服务
start slave;
然后查看服务器的状态
show slave status;
当Slave_IO_Running和Slave_SQL_Running都为YES的时候就表示主从同步配置成功了

在这里插入图片描述

注释:以下是踩过所有的坑,分享如下

报错信息: error reconnecting to master ‘userName@192.168.1.88:3306’ - retry-time: 60 maximum-retries: 86400 message: Can’t connect to MySQL server on ‘192.168.1.88’ (10061 “Unknown error”)

在这里插入图片描述

解决方案一

1.进入主服务器的mysql配置文件
2.注释 #bind-address = 127.0.0.1(最好注释原有的 不要删除)
3.重新添加 bind-address = 0.0.0.0
4.重启MySQL

在这里插入图片描述

解决方案二

1.检查主从两个服务器mysql->data->auto.cnf文件,server-uuid是否一致
2.如果一致修改里面的值保证不同即可
3.重启主从两个服务器的MySQL

在这里插入图片描述
在这里插入图片描述

  • 4
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值