温馨提示×

ubuntu上sqladmin如何进行集群部署

小樊
49
2025-10-28 19:40:47
栏目: 云计算

Ubuntu上SQLAdmin集群部署指南(基于MySQL数据库集群)
SQLAdmin本质是一个MySQL数据库管理工具,其“集群部署”本质是通过配置MySQL集群(实现高可用、读写分离或分布式处理),再通过SQLAdmin统一管理集群节点。以下是具体步骤:

一、前置准备

  1. 系统更新与依赖安装
    更新Ubuntu系统并安装必要工具:

    sudo apt update && sudo apt upgrade -y
    sudo apt install -y mysql-server mysql-client keepalived software-properties-common
    
  2. SQLAdmin安装与基础配置
    若需通过SQLAdmin管理集群,先完成SQLAdmin部署(参考官方仓库安装):

    wget -qO - https://packages.sqladmin.io/debian/public.key | sudo apt-key add -
    echo "deb https://packages.sqladmin.io/debian/ $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/sqladmin.list
    sudo apt update
    sudo apt install -y sqladmin
    

    修改SQLAdmin配置文件(/etc/sqladmin/config.yaml),设置监听地址、端口及数据库连接信息(后续需指向集群虚拟IP)。

二、MySQL集群部署(以主从复制+Keepalived为例)

1. 主节点配置(Master)

  • 编辑MySQL配置文件(/etc/mysql/mysql.conf.d/mysqld.cnf):

    [mysqld]
    server-id = 1                # 唯一服务器ID
    log_bin = /var/log/mysql/mysql-bin.log  # 开启二进制日志
    binlog_do_db = your_database # 需同步的数据库名
    auto_increment_increment = 2 # 自增步长(集群节点数)
    auto_increment_offset = 1    # 自增起始值(主节点为1)
    

    重启MySQL服务:

    sudo systemctl restart mysql
    
  • 创建复制用户并授权:
    登录MySQL,执行以下命令(替换password为强密码):

    CREATE USER 'replicator'@'%' IDENTIFIED BY 'password';
    GRANT REPLICATION SLAVE ON *.* TO 'replicator'@'%';
    FLUSH PRIVILEGES;
    
  • 获取主节点二进制日志位置:

    SHOW MASTER STATUS;
    

    记录File(如mysql-bin.000001)和Position(如154)值,后续用于从节点配置。

2. 从节点配置(Slave)

  • 编辑MySQL配置文件(/etc/mysql/mysql.conf.d/mysqld.cnf):

    [mysqld]
    server-id = 2                # 唯一服务器ID(需与主节点不同)
    relay_log = /var/log/mysql/mysql-relay-bin.log  # 开启中继日志
    log_bin = /var/log/mysql/mysql-bin.log          # 开启二进制日志(可选,用于级联复制)
    binlog_do_db = your_database                    # 同主节点
    auto_increment_increment = 2                    # 同主节点
    auto_increment_offset = 2                       # 自增起始值(从节点为2)
    read_only = 1                                   # 设置为只读(生产环境建议)
    

    重启MySQL服务:

    sudo systemctl restart mysql
    
  • 配置主从复制:
    登录从节点MySQL,执行以下命令(替换主节点IP、复制用户信息及File/Position值):

    CHANGE MASTER TO
      MASTER_HOST='master_ip',
      MASTER_USER='replicator',
      MASTER_PASSWORD='password',
      MASTER_LOG_FILE='mysql-bin.000001',
      MASTER_LOG_POS=154;
    START SLAVE;
    
  • 验证复制状态:

    SHOW SLAVE STATUS\G
    

    确保Slave_IO_RunningSlave_SQL_Running均为Yes,表示复制正常。

3. 高可用配置(Keepalived)

  • 安装Keepalived:

    sudo apt install -y keepalived
    
  • 配置Keepalived(主节点):
    编辑配置文件(/etc/keepalived/keepalived.conf):

    vrrp_instance VI_1 {
        state MASTER               # 主节点状态
        interface eth0             # 网卡名称(通过`ip a`查看)
        virtual_router_id 51       # 虚拟路由ID(集群内唯一)
        priority 100               # 优先级(主节点高于从节点,如100 vs 90)
        advert_int 1               # 心跳间隔(秒)
        authentication {
            auth_type PASS
            auth_pass 42           # 心跳密码
        }
        virtual_ipaddress {
            192.168.1.100          # 虚拟IP(集群访问入口)
        }
    }
    

    重启Keepalived服务:

    sudo systemctl restart keepalived
    
  • 配置Keepalived(从节点):
    state改为BACKUPpriority改为90(低于主节点),其余配置相同,重启服务。

三、SQLAdmin连接集群

  1. 添加集群连接
    登录SQLAdmin Web界面(http://<your_server_ip>:8080),进入“数据库连接”页面,添加新连接:

    • 连接名称:自定义(如MySQL_Cluster
    • 数据库类型:选择MySQL
    • 连接URLjdbc:mysql://192.168.1.100:3306/your_database(虚拟IP)
    • 用户名/密码:集群管理员账号(如root
  2. 验证连接
    点击“测试连接”,若提示成功,则可通过SQLAdmin管理集群节点(如执行SQL、查看节点状态)。

四、验证集群功能

  1. 主从复制测试
    在主节点插入数据:

    USE your_database;
    INSERT INTO test_table (name) VALUES ('test');
    

    在从节点查询数据,确认数据同步。

  2. 高可用测试
    停止主节点MySQL服务,观察虚拟IP是否漂移到从节点,SQLAdmin是否能继续通过虚拟IP访问集群。

注意事项

  • 集群类型选择:上述示例为基础主从复制+Keepalived,适用于中小规模场景。若需多主同步或更高性能,可选择Galera Cluster或InnoDB Cluster。
  • 安全性增强:配置SSL加密(MySQL主从复制、Keepalived心跳)、限制复制用户权限、启用SQLAdmin HTTPS。
  • 扩展性:若需水平扩展,可添加更多从节点或使用分布式数据库中间件(如ProxySQL)。

0