zoukankan      html  css  js  c++  java
  • mac下mysql主从同步配置

    一、环境说明

    两台mac,mysql环境master是5.7.20,slave是5.7.21
    master IP: 172.21.127.10
    slave IP:172.21.127.12

    二、master机器配置

    1、更改配置文件

    # Default Homebrew MySQL server config
    [mysqld]
    # Only allow connections from localhost
    bind-address =  172.21.127.10
    
    log-error=/var/log/mysqld.log
    pid-file=/var/run/mysqld/mysqld.pid
    
    server-id = 1
    log-bin = mysql-bin
    binlog-format = ROW #选择row模式
    

    2、重启mysql使上述配置生效

    3、创建用于主从同步的用户,为其授权,并指定该用户只能在172.21.127.12这台机器上登陆。

    grant  replication  slave  on  *.*  to  'slave1'@'172.21.127.12'  identified  by  "slavepass";
    

    4、为了保证主从库的数据库一致性,需要先为master加上读锁,使其变成只读

    FLUSH TABLE WITH READ LOCK
    

    5、记录下master的binlog日志文件,以及偏移量

    6、将master上现有数据导出,进入你想要导出sql文件的目录下,执行下面语句。

    mysqldump -uroot -proot --all-databases > db.sql
    

    7、解除master的读锁

    UNLOCK TABLES;
    

    8、将db.sql复制到slave机器上

    三、slave机器配置

    1、首先还是修改配置文件。参考master机器上的配置。将server-id修改,不能重复,如果没有配置server-id一会儿start slave会报错

    2、重启mysql

    3、将书面的db.sql导入到数据库

    mysqldump -u root -p 要导出的数据库名>名字随意.sql 
    #在这里直接
    mysqldump -root -proot < /Users/my/db.sql
    

    4、使slave与master建立其起同步,这是很关键的一步

    STOP SLAVE;
    
    CHANGE MASTER TO
        MASTER_HOST='172.21.127.10',
        MASTER_USER='slave1',
        MASTER_PASSWORD='slavepass',
        MASTER_LOG_FILE='mysql-bin.000003',
        MASTER_LOG_POS=1791;
    
    START SLAVE;
    

    四、总结

    经过以上步骤你就可以简单的实现主从同步了,如果有问题,可以多看之前配置的log-error日志,碰到问题多查日志~

  • 相关阅读:
    数据产品—数据仓库
    数据产品-开篇
    os.walk()
    pytest入门
    XML 文件处理
    字符编码
    消息队列
    Pycharm
    AWS入门
    Python配置模块:configparser参数含义
  • 原文地址:https://www.cnblogs.com/gaofengfengfeng/p/8746710.html
Copyright © 2011-2022 走看看