`

MySQL 設定 Master-Slave Replication 同步

 
阅读更多

 

MySQL 設定 Master-Slave Replication 同步

<iframe id="aswift_2" style="margin: 0px; padding: 0px; border-width: 0px; border-style: initial; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; max-width: 100%; left: 0px; position: absolute; top: 0px;" name="aswift_2" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" width="468" height="15"></iframe>

MySQL 的 Master-Slave Replication (同步) 是當 Master 資料庫有變動時, 自動同步到 Slave 資料庫。由於 MariaDB 在 RHEL/CentOS 7 開始已經成為預設資料庫, 而且可以完全取代 MySQL, 所以以下也會以 MariaDB 進行設定, 但同樣方法在 MySQL 一樣可以的。

假設已經有兩台 MySQL 伺服器, 以下兩部份分別是 Master 及 Slave 的設定。

Master
開啟 /etc/my.cnf 進行設定, 在 [mysqld] 區塊改成以下這樣, 其中 bind-address 要改成 Master 的 ip; datadir 是資料目錄:

 

 

修改後儲存檔案, 重新啟動 MySQL:

# service restart mysql

接著用 root 登入 MySQL, 建立一個用作同步的帳號, 以下會建立帳號 replication, 密碼是 password, Slave 的 ip 是 192.168.1.101:

 

 

然後要用 mysqldump 匯出資料庫的 .sql 檔, 要放到 Slave 匯入:

# mysqldump –skip-lock-tables –all-databases –user=root –password –master-data > masterdatabase.sql

Slave 設定

開啟 /etc/my.cnf 修改設定, 加入以下內容到 [mysqld] 區塊:

 

 

修改後儲存檔案, 重新啟動 MySQL:

# service restart mysql

用 root 登入 MySQL, 建立資料庫:

 

 

將在 Master 用 mysqldump 建立的 masterdatabase.sql 匯入:

mysql -u root -p database-name < masterdatabase.sql

匯入資料後, 再次用 root 登入 MySQL, 執行以下 SQL 指令, 以下的 MASTER_HOST 改為 Master 的 ip, 而 MASTER_LOG_FILE 及 MASTER_LOG_POS 是在 Master 上在 MySQL 執行 “SHOW MASTER STATUS;” 的結果:

 

現在 Slave 已經可以同步, 要查詢 Slave 的狀態, 可以登入 MySQL 用以下指令檢查:

分享到:
评论

相关推荐

    mysql5.5 master-slave(Replication)主从配置

    在MySQL中,**主从复制(Master-Slave Replication)**是一种非常重要的数据备份方式,通过它可以在多台服务器之间实现数据的同步。这种方式不仅可以用于数据备份,还可以用于读写分离,从而提高系统的整体性能。 #...

    Mysql-master-slave.rar_Master/Slave_slave mysql

    MySQL的主从复制是数据库高可用性和数据冗余的一种常见实现方式,它允许数据从一个服务器(主服务器)同步到一个或多个其他服务器(从服务器)。这种架构在处理大量读取操作、提供故障切换能力以及分布式系统中尤其...

    mysql5.5 master-slave(Replication)配置方法

    ### MySQL 5.5 Master-Slave (Replication) 配置详解 #### 一、基础知识简介 在深入了解具体的配置步骤之前,我们首先简要回顾一下MySQL中的Master-Slave复制机制的基础概念。 - **主从复制(Master-Slave ...

    mysql-master-master

    此外,还可以借助第三方工具如`pt-online-schema-change`或`mysql-replication-monitor`进行更复杂的监控和自动化故障切换。 6. **冲突处理**:在主主复制环境中,如果两个节点同时对同一数据进行修改,可能会出现...

    如何解决MySQL的master-slave模式中ReplicationDriver的使用问题

    在MySQL数据库系统中,主从复制(Master-Slave Replication)是一种常用的数据冗余和负载均衡策略。这种模式允许数据从一个主服务器(Master)实时同步到一个或多个从服务器(Slave)。当主服务器上的数据发生变化时...

    搭建MySQL的MasterSlave架构

    MySQL的Master-Slave架构是一种常见的数据库高可用性和负载均衡解决方案。它允许数据从一个主服务器(Master)实时同步到一个或多个从服务器(Slave)。在这种架构中,所有的写操作都在主服务器上执行,而从服务器则...

    mysql master/slave介绍及配置

    Master-Slave的数据库机构解决了很多问题,特别是read/write比较高的web2.0应用: 1、写操作全部在Master结点执行,并由Slave数据库结点定时(默认60s)读取Master的bin-log 2、将众多的用户读请求分散到更多的...

    MySQL-Master_Slave_repl.txt

    mysql&gt; grant replication slave on *.* to 'sree'@'%'   Refresh permissions mysql&gt; flush privileges mysql&gt; show master status; | File | Position | master-bin.000004 | 120   Slave configuration =...

    MySQL-MMM安装指南(Multi-Master Replication Manager for MySQL)

    MySQL-MM (Multi-Master Replication Manager) 是一种用于MySQL数据库的高可用性和负载均衡解决方案,它支持多主复制,允许数据在多个主节点之间双向同步。以下是对MySQL-MMM安装的详细步骤和基本配置的说明。 首先...

    mysql-replication配置文档

    MySQL复制(replication)是一种将数据从一个MySQL服务器(主服务器)实时同步到另一个或多个服务器(从服务器)的技术,这种技术有助于实现高可用性、负载均衡和数据备份。在MySQL中,复制主要分为单向异步复制和...

    mysql-replication mysql数据库主从复制步骤

    通过以上步骤,可以成功完成MySQL数据库的主从复制配置,实现数据的实时同步,从而提高数据的安全性和系统的可用性。需要注意的是,在实际部署过程中,还需根据具体的环境和需求调整相关配置,确保复制过程的稳定性...

    python-mysql-replication-main

    MySQL作为广泛使用的开源关系型数据库管理系统,其复制功能允许数据在多个服务器之间实时同步,提高了数据的安全性和可用性。Python作为强大的编程语言,通过各种库与MySQL进行交互,其中PyMySQL就是一种常用的接口...

    藏经阁-MySQL Replication Latest Developments.pdf

    MySQL复制主要基于异步模式,这意味着主服务器(Master)上的更改不会立即传播到从服务器(Slave),而是通过二进制日志(Binary Log)记录并随后传输。以下是复制过程的关键步骤: 1. **事件记录**:当在主服务器...

Global site tag (gtag.js) - Google Analytics