溫馨提示×

Ubuntu MySQL復制功能如何實現

小樊
54
2025-05-17 18:46:10
欄目: 云計算

在Ubuntu上實現MySQL的復制功能,通常是指設置一個MySQL主服務器(Master)和一個或多個MySQL從服務器(Slave),以便從服務器可以自動復制主服務器上的數據變更。以下是實現MySQL復制的基本步驟:

1. 準備工作

在主服務器上:

  • 確保MySQL版本相同或兼容。
  • 配置my.cnf(或my.ini)文件,啟用二進制日志(binary logging)和設置唯一的服務器ID。
[mysqld]
server-id = 1
log_bin = /var/log/mysql/mysql-bin.log
binlog_do_db = your_database_name  # 只復制指定的數據庫

在從服務器上:

  • 確保MySQL版本相同或兼容。
  • 配置my.cnf(或my.ini)文件,設置唯一的服務器ID。
[mysqld]
server-id = 2
relay_log = /var/log/mysql/mysql-relay-bin.log
log_bin = /var/log/mysql/mysql-bin.log
binlog_do_db = your_database_name  # 只復制指定的數據庫

2. 創建復制用戶

在主服務器上創建一個用于復制的用戶,并授予相應的權限。

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

3. 獲取主服務器的狀態

在主服務器上執行SHOW MASTER STATUS;命令,記錄下FilePosition的值。

SHOW MASTER STATUS;

4. 配置從服務器

在從服務器上執行CHANGE MASTER TO命令,指定主服務器的信息。

CHANGE MASTER TO
MASTER_HOST='master_ip_address',
MASTER_USER='replicator',
MASTER_PASSWORD='password',
MASTER_LOG_FILE='recorded_log_file_name',
MASTER_LOG_POS=recorded_log_position;

5. 啟動復制

在從服務器上啟動復制進程。

START SLAVE;

6. 檢查復制狀態

在從服務器上執行SHOW SLAVE STATUS\G命令,檢查復制是否正常運行。

SHOW SLAVE STATUS\G

確保Slave_IO_RunningSlave_SQL_Running都是Yes。

注意事項

  • 確保主服務器和從服務器的時間同步。
  • 在配置復制之前,最好先備份數據庫。
  • 如果主服務器上的數據量很大,可以考慮使用GTID(全局事務標識符)來簡化復制配置。
  • 在生產環境中,建議使用SSL加密復制連接以提高安全性。

通過以上步驟,你可以在Ubuntu上實現MySQL的復制功能。根據具體需求,可能還需要進行一些額外的配置和優化。

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