美文网首页
MySQL主从同步

MySQL主从同步

作者: 猴子精h | 来源:发表于2018-08-16 19:17 被阅读14次

    MySQL 主从同步

    配置主节点

    开启 binlog, 配置全局唯一的 server-id

    [mysqld]
    log-bin=mysql-bin
    server-id=1
    

    主节点上创建同步的用户

    mysql> CREATE USER 'repl'@'%.example.com' IDENTIFIED BY 'password';
    mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%.example.com';
    

    获取主节点二进制文件的位置

    blocks COMMIT operations for InnoDB tables.

    mysql> FLUSH TABLES WITH READ LOCK;
    
    mysql > SHOW MASTER STATUS;
    +------------------+----------+--------------+------------------+
    | File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
    +------------------+----------+--------------+------------------+
    | mysql-bin.000003 | 73       | test         | manual,mysql     |
    +------------------+----------+--------------+------------------+
    

    data snapshots

    如果主节点存在数据,则需要将数据备份并同步至各个 slave 节点

    1. 通过 mysqldump 的方式(推荐方式),特别是使用 InnoDB 的引擎
    shell> mysqldump --all-databases --master-data > dbdump.db
    
    # 或
    shell> mysqldump --all-databases --master-data=2 --single-transaction > dbdump.db (该操作会记录 pos 位子,并执行 FLUSH TABLES WITH READ LOCK)
    
    1. 通过 raw data file 的方式,InnoDB 的引擎不推荐
    shell> mysqladmin shutdown
    shell> tar cf /tmp/db.tar ./data
    shell> zip -r /tmp/db.zip ./data
    shell> rsync --recursive ./data /tmp/dbdata
    

    配置从节点

    主节点释放 read lock

    mysql> UNLOCK TABLES;
    

    配置从节点全局唯一的 server-id

    [mysqld]
    server-id=2
    max_allowed_packet=1G
    

    从节点导入主节点的备份

    shell> mysql < fulldb.dump
    

    从节点指向主节点

    mysql> CHANGE MASTER TO
        ->     MASTER_HOST='master_host_name',
        ->     MASTER_USER='replication_user_name',
        ->     MASTER_PASSWORD='replication_password',
        ->     MASTER_LOG_FILE='recorded_log_file_name',
        ->     MASTER_LOG_POS=recorded_log_position;
    

    开启 slave

    mysql> START SLAVE;
    

    查看同步状态

    mysql> SHOW SLAVE STATUS\G 
    

    相关文章

      网友评论

          本文标题:MySQL主从同步

          本文链接:https://www.haomeiwen.com/subject/wfnobftx.html