溫馨提示×

mysql兩個數據庫怎么同步

小億
136
2024-09-13 11:30:48
欄目: 云計算

要實現MySQL兩個數據庫之間的同步,可以使用MySQL自帶的主從復制(Master-Slave Replication)功能。下面是配置主從復制的基本步驟:

  1. 在主服務器(Master)上設置: a. 修改my.cnf文件,通常位于/etc/mysql/my.cnf/etc/my.cnf。 b. 在[mysqld]部分添加以下內容:

    server-id=1
    log-bin=mysql-bin
    binlog-do-db=<需要同步的數據庫名>
    binlog-format=row
    

    c. 重啟MySQL服務。 d. 登錄MySQL,創建一個專門用于同步的用戶并授權:

    CREATE USER 'repl'@'%' IDENTIFIED BY 'your_password';
    GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';
    FLUSH PRIVILEGES;
    

    e. 查詢主服務器的二進制日志文件名和位置:

    SHOW MASTER STATUS;
    

    記下FilePosition的值,稍后在配置從服務器時需要用到。

  2. 在從服務器(Slave)上設置: a. 修改my.cnf文件,通常位于/etc/mysql/my.cnf/etc/my.cnf。 b. 在[mysqld]部分添加以下內容:

    server-id=2
    relay-log=relay-bin
    relay-log-index=relay-bin.index
    

    c. 重啟MySQL服務。 d. 登錄MySQL,配置主服務器信息:

    CHANGE MASTER TO
      MASTER_HOST='主服務器IP',
      MASTER_USER='repl',
      MASTER_PASSWORD='your_password',
      MASTER_LOG_FILE='從主服務器查詢到的File名',
      MASTER_LOG_POS=從主服務器查詢到的Position值;
    

    e. 啟動從服務器同步:

    START SLAVE;
    

完成以上步驟后,從服務器將開始與主服務器進行數據同步。你可以通過以下命令查看從服務器的同步狀態:

SHOW SLAVE STATUS\G;

如果Slave_IO_RunningSlave_SQL_Running都顯示為"Yes",則表示同步正常進行中。

注意:這里的同步是單向的,只有主服務器上的數據變更會反映到從服務器上。從服務器上的數據變更不會影響到主服務器。此外,在進行數據庫同步前,請確保兩臺服務器的MySQL版本相同,并對數據庫進行備份,以防止數據丟失。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女