ubuntu

Ubuntu MySQL集群搭建方案

小樊
51
2025-08-01 06:17:08
栏目: 云计算

在Ubuntu上搭建MySQL集群可以通过多种方式实现,包括主从复制、MySQL Cluster、Galera Cluster等。以下是使用MySQL InnoDB Cluster(MIC)实现高可用性集群的详细方案:

环境准备

部署步骤

  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
看了该问题的人还看了