MySQL5.7 主从复制配置

实现 window 环境下 Mysql 为主机 master,Centos 环境下 MySQL 为从机 slavel当前演示为一主一从的简单配置,一主多从同样可以参照。Centos 版本为 7MySQL 版本为 5.7.25 和 5.7.16目录1. 准备工作2. 主机设置3. 从机设置4. 配置主从关系5. 断开主从配置1. 准备工作首先需要确定Mysql版本,根据测试,5.7大版本一致,具体版本不一致不会导致配置失败。分别关闭 window 环境和 centos 环境的防火.
摘要由CSDN通过智能技术生成
  • 实现 window 环境下 Mysql 为主机 master,Centos 环境下 MySQL 为从机 slavel
  • 当前演示为一主一从的简单配置,一主多从同样可以参照。
  • Centos 版本为 7
  • MySQL 版本为 5.7.25 和 5.7.16


1. 准备工作

  • 首先需要确定Mysql版本,根据测试,5.7大版本一致,具体版本不一致不会导致配置失败。

  • 分别关闭 window 环境和 centos 环境的防火墙

  1. window:控制面板 ==》 系统安全 ==》 防火墙 ==》左侧,启动或关闭防火墙
  2. centos:
    systemctl status firewalld
    systemctl stop firewalld

  • 使用 SQLYog 工具分别连接两个数据库

2. 主机设置

  • 找到 window 本机 Mysql 安装目录下的 my.ini,此文件为 window 环境下 mysql 的配置文件,在[mysqld]下添加配置

    #不一定非得为1,目的是区分和从机的关系
    server-id=1
    
    # mysql 主从复制的本地binlog日志位置,不要和 mysql安装路径一致,mysqlbin为文件,不需要创建,只需要创建data文件夹即可
    log-bin=D:\MysqlSlavel\data\mysqlbin
    
    # 设置忽略复制的库
    binlog-ignore-db=mysql
    
    # 设置要复制的库
    binlog-do-db=slavel_1128
    
    # 设置logbin格式,默认为STATEMENT
    binlog_format=STATEMENT
    
  • 设置完成保存,找到mysql服务,重启,如若能重启成功,则代表主机配置成功


3. 从机设置

  • 同样方式,找到mysql的配置文件,修改,在[mysqld]下添加配置

    `vim /etc/my.cnf`
    
    server-id = 2
    relay-log=mysql-relay
    
  • 保存退出,重启服务

    systemctl restart mysqld
    
    systemctl status mysqld
    

4. 配置主从关系

  • 在 Windows 主机上建立帐户并授权 slave

    GRANT REPLICATION SLAVE ON *.* TO 'username'@'从机器数据库IP' IDENTIFIED BY 'password';
    
    GRANT REPLICATION SLAVE ON *.* TO 'slavel_demo'@'%' IDENTIFIED BY 'root';
    
    • 需要创建一个用户,不要使用root用户,权限过大

    • 查询 master 状态

      show master status;
      
    • 查询出的结果,需要将 File 和 Position 字段记住,从机需要配置

    • 其中 Binlog_Do_DB 就是刚才 window 环境配置的需要复制的数据库名称


    • 执行完此步骤后不要再操作主服务器MYSQL,防止主服务器状态值变化

  • 在 Linux 从机上配置需要复制的主机

    MASTER_HOST='主机IP',MASTER_USER='username',MASTER_PASSWORD='password',
    MASTER_LOG_FILE='File名字',MASTER_LOG_POS=Position数字;
    
    # 主机ip:如果当前虚拟机为nat模式,那么主机ip可以设置为当前号段 .1,192.168.xxx.1
    # MASTER_USER,MASTER_PASSWORD:刚刚主机创建的用户
    # MASTER_LOG_FILE,MASTER_LOG_POS : 上一步主机查询出的结果
    
    • 启动从服务器复制功能
    start slave;
    

  • 检查是否配置成功

    show slave status\G
    
    • 其中,一下两个属性为 YES 即配置成功

      Slave_IO_Running: Yes
      Slave_SQL_Running: Yes
      
    • 如果有 No,继续向下看,有具体的报错信息,相应修改即可


  • 验证

    1. window 创建 一个库,库名为刚才设置的mysql的库的名称
    2. 创建成功之后,通过 SQLYog 连接 Linux MYSQL ,查看从库是否也创建成功
    3. 如果创建成功,继续创建表,添加数据,查询是否从库也有更新

5. 断开主从配置

  • 停止主从复制功能

    stop slave;
    
  • 重新配置主从

    stop slave;
    reset master;
    

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值