linux mysql如何復(fù)制數(shù)據(jù)庫(kù)

小億
81
2024-09-29 00:39:48
欄目: 云計(jì)算

在Linux環(huán)境下,使用MySQL復(fù)制數(shù)據(jù)庫(kù)可以通過(guò)以下步驟實(shí)現(xiàn):

  1. 安裝MySQL:確保兩臺(tái)Linux服務(wù)器上都安裝了MySQL。

  2. 配置主服務(wù)器:編輯MySQL配置文件/etc/my.cnf(或/etc/mysql/my.cnf),在[mysqld]部分添加以下內(nèi)容:

    server-id=1
    log_bin=/var/log/mysql/mysql-bin.log
    binlog_do_db=your_database_name  # 復(fù)制特定數(shù)據(jù)庫(kù)
    

    這里server-id是服務(wù)器的唯一標(biāo)識(shí),log_bin指定了二進(jìn)制日志的文件路徑,binlog_do_db指定了要復(fù)制的數(shù)據(jù)庫(kù)。

  3. 創(chuàng)建復(fù)制用戶:在主服務(wù)器上創(chuàng)建一個(gè)用于復(fù)制的MySQL用戶,并授權(quán):

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

    這里的repl是復(fù)制用戶的用戶名,password是密碼。

  4. 獲取主服務(wù)器的二進(jìn)制日志坐標(biāo):在主服務(wù)器上執(zhí)行以下命令,獲取當(dāng)前的二進(jìn)制日志坐標(biāo)(文件名和位置):

    SHOW MASTER STATUS;
    

    記下返回的FilePosition值,這些值將用于配置從服務(wù)器。

  5. 配置從服務(wù)器:編輯從服務(wù)器的MySQL配置文件/etc/my.cnf(或/etc/mysql/my.cnf),在[mysqld]部分添加以下內(nèi)容:

    server-id=2
    relay_log=/var/log/mysql/mysql-relay-bin.log
    log_slave_updates=1
    read_only=1
    

    這里server-id是服務(wù)器的唯一標(biāo)識(shí),relay_log指定了中繼日志的文件路徑,log_slave_updates啟用從服務(wù)器的中繼日志功能,read_only將復(fù)制連接設(shè)置為只讀。

  6. 啟動(dòng)從服務(wù)器:在從服務(wù)器上啟動(dòng)MySQL服務(wù):

    sudo systemctl start mysql
    
  7. 配置從服務(wù)器連接主服務(wù)器:在從服務(wù)器上執(zhí)行以下命令,配置從服務(wù)器連接到主服務(wù)器進(jìn)行復(fù)制:

    CHANGE MASTER TO
        MASTER_HOST='master_server_ip',
        MASTER_USER='repl',
        MASTER_PASSWORD='password',
        MASTER_LOG_FILE='recorded_file_name',  # 主服務(wù)器二進(jìn)制日志文件名
        MASTER_LOG_POS=recorded_position;  # 主服務(wù)器二進(jìn)制日志位置
    START SLAVE;
    

    這里的master_server_ip是主服務(wù)器的IP地址,recorded_file_namerecorded_position是在步驟4中獲取的主服務(wù)器的二進(jìn)制日志坐標(biāo)。

  8. 驗(yàn)證復(fù)制狀態(tài):在從服務(wù)器上執(zhí)行以下命令,查看復(fù)制狀態(tài):

    SHOW SLAVE STATUS\G;
    

    如果一切正常,你應(yīng)該能看到Slave_IO_RunningSlave_SQL_Running的值都是Yes,表示復(fù)制正在正常運(yùn)行。

請(qǐng)注意,以上步驟假設(shè)你已經(jīng)有了主服務(wù)器和從服務(wù)器的IP地址,并且兩臺(tái)服務(wù)器上的MySQL版本兼容。在實(shí)際應(yīng)用中,你可能需要根據(jù)具體情況進(jìn)行調(diào)整。

0