溫馨提示×

CMake中MySQL主從復(fù)制的配置

小樊
82
2024-09-05 21:17:31
欄目: 云計算

在CMake中配置MySQL主從復(fù)制,需要首先確保已經(jīng)安裝了MySQL數(shù)據(jù)庫

  1. 安裝MySQL數(shù)據(jù)庫: 請參考MySQL官方文檔進(jìn)行安裝:https://dev.mysql.com/doc/refman/8.0/en/installing.html

  2. 創(chuàng)建一個專用于主從復(fù)制的用戶: 在主服務(wù)器上,使用以下命令創(chuàng)建一個用于主從復(fù)制的用戶:

    mysql -u root -p
    GRANT REPLICATION SLAVE ON *.* TO 'repl_user'@'%' IDENTIFIED BY 'your_password';
    FLUSH PRIVILEGES;
    
  3. 修改主服務(wù)器的my.cnf配置文件: 在主服務(wù)器上,找到并編輯my.cnf配置文件。通常位于/etc/mysql/my.cnf/etc/my.cnf。添加或修改以下內(nèi)容:

    [mysqld]
    server-id=1
    log-bin=mysql-bin
    binlog-do-db=your_database_name
    binlog-format=row
    

    其中,server-id是主服務(wù)器的唯一標(biāo)識,log-bin是用于存儲二進(jìn)制日志文件的路徑,binlog-do-db是需要復(fù)制的數(shù)據(jù)庫名稱,binlog-format是指定復(fù)制時使用的二進(jìn)制日志格式。

  4. 重啟主服務(wù)器的MySQL服務(wù): 在主服務(wù)器上,重啟MySQL服務(wù)以應(yīng)用更改:

    sudo service mysql restart
    
  5. 獲取主服務(wù)器的二進(jìn)制日志文件名和位置: 在主服務(wù)器上,運(yùn)行以下命令以獲取當(dāng)前的二進(jìn)制日志文件名和位置:

    mysql -u root -p -e "SHOW MASTER STATUS;"
    

    記下輸出結(jié)果中的FilePosition值,因為這些值將在從服務(wù)器上配置復(fù)制時使用。

  6. 導(dǎo)出主服務(wù)器上需要復(fù)制的數(shù)據(jù)庫: 在主服務(wù)器上,使用以下命令導(dǎo)出需要復(fù)制的數(shù)據(jù)庫:

    mysqldump -u root -p your_database_name > your_database_name.sql
    
  7. 將導(dǎo)出的數(shù)據(jù)庫導(dǎo)入到從服務(wù)器: 將導(dǎo)出的數(shù)據(jù)庫文件傳輸?shù)綇姆?wù)器,并使用以下命令導(dǎo)入:

    mysql -u root -p your_database_name< your_database_name.sql
    
  8. 修改從服務(wù)器的my.cnf配置文件: 在從服務(wù)器上,找到并編輯my.cnf配置文件。通常位于/etc/mysql/my.cnf/etc/my.cnf。添加或修改以下內(nèi)容:

    [mysqld]
    server-id=2
    replicate-do-db=your_database_name
    

    其中,server-id是從服務(wù)器的唯一標(biāo)識,replicate-do-db是需要復(fù)制的數(shù)據(jù)庫名稱。

  9. 配置從服務(wù)器連接到主服務(wù)器: 在從服務(wù)器上,運(yùn)行以下命令以配置從服務(wù)器連接到主服務(wù)器:

    mysql -u root -p -e "CHANGE MASTER TO MASTER_HOST='master_server_ip', MASTER_USER='repl_user', MASTER_PASSWORD='your_password', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=  154;"
    

    其中,MASTER_HOST是主服務(wù)器的IP地址,MASTER_USERMASTER_PASSWORD是在步驟2中創(chuàng)建的復(fù)制用戶的用戶名和密碼,MASTER_LOG_FILEMASTER_LOG_POS是在步驟5中獲取的二進(jìn)制日志文件名和位置。

  10. 啟動從服務(wù)器上的復(fù)制進(jìn)程: 在從服務(wù)器上,運(yùn)行以下命令以啟動復(fù)制進(jìn)程:

    mysql -u root -p -e "START SLAVE;"
    
  11. 檢查從服務(wù)器的復(fù)制狀態(tài): 在從服務(wù)器上,運(yùn)行以下命令以檢查復(fù)制狀態(tài):

    mysql -u root -p -e "SHOW SLAVE STATUS\G"
    

    如果一切正常,您應(yīng)該會看到Slave_IO_RunningSlave_SQL_Running狀態(tài)為YES

現(xiàn)在,您已經(jīng)成功配置了MySQL主從復(fù)制。從服務(wù)器將自動從主服務(wù)器復(fù)制數(shù)據(jù),并保持與主服務(wù)器同步。

0