溫馨提示×

Ubuntu MySQL集群搭建方案

小樊
48
2025-08-01 06:17:08
欄目: 云計算

在Ubuntu上搭建MySQL集群可以通過多種方式實現,包括主從復制、MySQL Cluster、Galera Cluster等。以下是使用MySQL InnoDB Cluster(MIC)實現高可用性集群的詳細方案:

環境準備

  • 硬件和網絡:確保所有服務器有足夠的硬件資源(CPU、內存、存儲),并且它們之間可以互相通信。
  • 操作系統:建議使用Ubuntu 20.04或更高版本。
  • MySQL版本:需要安裝MySQL 8.0或更高版本,因為MIC依賴于MySQL 8.0的特性。

部署步驟

  1. 修改主機名稱和添加域名解析

    在每臺服務器上執行以下命令:

    hostnamectl set-hostname mysql1
    cat >>/etc/hosts<<EOF
    192.168.100.61 mysql1
    192.168.100.62 mysql2
    192.168.100.63 mysql3
    EOF
    
  2. 安裝MySQL Server和相關工具

    在所有節點上執行以下命令:

    apt update
    apt install mysql-server mysql-shell mysql-router -y
    
  3. 修改root用戶密碼

    在所有節點上執行以下SQL命令:

    ALTER USER 'root'@'localhost' IDENTIFIED WITH 'mysql_native_password' BY 'Admin@2025!';
    CREATE USER 'root'@'%' IDENTIFIED WITH 'mysql_native_password' BY 'Admin@2025!';
    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
    FLUSH PRIVILEGES;
    
  4. 修改MySQL配置文件

    在每臺服務器的/etc/mysql/mysql.conf.d/mysqld.cnf文件中添加或修改以下配置:

    [mysqld]
    server_id = 1  # 每臺服務器的唯一標識符,必須不同
    bind-address = 0.0.0.0
    gtid_mode = ON
    enforce_gtid_consistency = ON
    binlog_format = ROW
    log_bin = mysql-bin
    log_slave_updates = ON
    master_info_repository = TABLE
    relay_log_info_repository = TABLE
    plugin_load_add = group_replication.so
    group_replication_group_name = "my_group"
    group_replication_start_on_boot = off
    group_replication_local_address = "192.168.100.61:33061"
    group_replication_group_seeds = "192.168.100.61:33061,192.168.100.62:33061,192.168.100.63:33061"
    group_replication_bootstrap_group = off
    
  5. 重啟MySQL服務

    在每臺服務器上執行以下命令:

    systemctl restart mysql
    
  6. 初始化集群

    在任意一個節點上執行以下命令來初始化集群:

    mysqlsh --group-replication start-group --group-replication-group-name="my_group" --force
    
  7. 驗證集群狀態

    連接到任意一個節點并執行以下SQL命令來驗證集群狀態:

    SELECT * FROM mysql.group_replication;
    

注意事項

  • 在配置集群之前,請確保所有服務器的網絡互通性及時間同步。
  • 安全設置也非常重要,包括設置正確的防火墻規則和訪問控制列表,確保只有授權的用戶和節點可以訪問敏感數據和服務。

以上步驟提供了一個基本的MySQL InnoDB Cluster搭建流程,具體配置可能會根據實際需求和硬件環境有所不同。建議在進行實際操作前,詳細閱讀相關文檔,并在測試環境中充分驗證。

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