• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    详解Mysql主从同步配置实战

    1、Introduction

    之前写过一篇文章:Mysql主从同步的原理。

    相信看过这篇文章的童鞋,都摩拳擦掌,跃跃一试了吧?

    今天我们就来一次mysql主从同步实战!

    2、环境说明

    os:ubuntu16.04

    mysql:5.7.17

    下面的实战演练,都是基于上面的环境。当然,其他环境也大同小异。

    3、进入实战

    工具

    2台机器:

    master IP:192.168.33.22

    slave  IP:192.168.33.33

    master机器上的操作

    1、更改配置文件

    我们找到文件 /etc/mysql/mysql.conf.d/mysqld.cnf

    配置如下:

    bind-address = 192.168.33.22 #your master ip
    server-id = 1 #在master-slave架构中,每台机器节点都需要有唯一的server-id
    log_bin = /var/log/mysql/mysql-bin.log #开启binlog

    2、重启mysql,以使配置文件生效。

    sudo systemctl restart mysql

    3、创建主从同步的mysql user。

    $ mysql -u root -p
    Password:
    
    ##创建slave1用户,并指定该用户只能在主机192.168.33.33上登录。
    mysql> CREATE USER 'slave1'@'192.168.33.33' IDENTIFIED BY 'slavepass';
    Query OK, 0 rows affected (0.00 sec)
    
    ##为slave1赋予REPLICATION SLAVE权限。
    mysql> GRANT REPLICATION SLAVE ON *.* TO 'slave1'@'192.168.33.33';
    Query OK, 0 rows affected (0.00 sec)
    

    4、为MYSQL加读锁

    为了主库与从库的数据保持一致,我们先为mysql加入读锁,使其变为只读。

    mysql> FLUSH TABLES WITH READ LOCK;
    Query OK, 0 rows affected (0.00 sec)

    5、记录下来MASTER REPLICATION LOG 的位置

    该信息稍后会用到。

    mysql> SHOW MASTER STATUS;
    +------------------+----------+--------------+------------------+-------------------+
    | File    | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
    +------------------+----------+--------------+------------------+-------------------+
    | mysql-bin.000001 |  613 |    |     |     |
    +------------------+----------+--------------+------------------+-------------------+
    1 row in set (0.00 sec)

    6、将master DB中现有的数据信息导出

    $ mysqldump -u root -p --all-databases --master-data > dbdump.sql

    7、接触master DB的读锁

    mysql> UNLOCK TABLES;

    8、将步骤6中的dbdump.sql文件copy到slave

    scp dbdump.sql ubuntu@192.168.33.33:/home/ubuntu

    slave机器上的操作

    1、更改配置文件

    我们找到文件 /etc/mysql/mysql.conf.d/mysqld.cnf

    更改配置如下:

    bind-address = 192.168.33.33 #your slave ip
    server-id = 2 #master-slave结构中,唯一的server-id
    log_bin = /var/log/mysql/mysql-bin.log #开启binlog

    2、重启mysql,以使配置文件生效

    sudo systemctl restart mysql

    3、导入从master DB。 导出的dbdump.sql文件,以使master-slave数据一致

    $ mysql -u root -p  /home/ubuntu/dbdump.sql

    4、使slave与master建立连接,从而同步

    $ mysql -u root -p
    Password:
    
    mysql> STOP SLAVE;
    Query OK, 0 rows affected, 1 warning (0.00 sec)
    
    mysql> CHANGE MASTER TO
     -> MASTER_HOST='192.168.33.22',
     -> MASTER_USER='slave1',
     -> MASTER_PASSWORD='slavepass',
     -> MASTER_LOG_FILE='mysql-bin.000001',
     -> MASTER_LOG_POS=613;
    Query OK, 0 rows affected, 2 warnings (0.01 sec)
    
    mysql> START SLAVE;
    Query OK, 0 rows affected (0.00 sec)
    

    MASTER_LOG_FILE='mysql-bin.000001'与MASTER_LOG_POS=613的值,是从上面的 SHOW MASTER STATUS 得到的。

    经过如此设置之后,就可以进行master-slave同步了~

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

    您可能感兴趣的文章:
    • MySQL 主从同步,事务回滚的实现原理
    • MySQL数据库主从同步实战过程详解
    • MySQL主从同步中的server-id示例详解
    • Centos7系统下Mysql主从同步配置方案
    • MySQL主从同步延迟的原因及解决办法
    • MySQL主从同步机制与同步延时问题追查过程
    • MySQL数据库的主从同步配置与读写分离
    • Mysql主从同步Last_IO_Errno:1236错误解决方法
    • Mysql主从同步的实现原理
    • 详解windows下mysql的主从同步
    • 详解MySQL数据库设置主从同步的方法
    • Mysql数据库的主从同步配置
    上一篇:MySQL优化之缓存优化(续)
    下一篇:Mysql主从同步的实现原理
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    详解Mysql主从同步配置实战 详解,Mysql,主从,同步,配置,