首页主机资讯ubuntu中sqladmin如何进行集群部署

ubuntu中sqladmin如何进行集群部署

时间2025-11-04 10:57:03发布访客分类主机资讯浏览1135
导读:Ubuntu中SQLAdmin集群部署指南(基于MySQL主从+Keepalived高可用) SQLAdmin本身是一个数据库管理工具,其集群部署本质是通过数据库集群(如MySQL主从复制)实现数据冗余,再结合高可用组件(如Keepaliv...

Ubuntu中SQLAdmin集群部署指南(基于MySQL主从+Keepalived高可用)
SQLAdmin本身是一个数据库管理工具,其集群部署本质是通过数据库集群(如MySQL主从复制)实现数据冗余,再结合高可用组件(如Keepalived)避免单点故障。以下是详细步骤:

1. 环境准备

  • 系统更新:确保Ubuntu系统为最新状态,避免依赖冲突。
    sudo apt update &
        &
         sudo apt upgrade -y
    
  • 安装基础软件包:安装MySQL数据库、Keepalived(高可用)及必要工具。
    sudo apt install mysql-server mysql-client keepalived -y
    

2. 配置MySQL主节点(Master)

  • 修改主节点配置文件:编辑/etc/mysql/mysql.conf.d/mysqld.cnf(或/etc/mysql/my.cnf),开启二进制日志并设置唯一server-id(主从节点ID必须不同)。
    [mysqld]
    server-id = 1
    log_bin = /var/log/mysql/mysql-bin.log
    binlog_do_db = your_database_name  # 指定同步的数据库(可选,留空则同步所有)
    auto_increment_increment = 2       # 主从节点ID增量(节点数+1)
    auto_increment_offset = 1          # 主节点起始ID
    
  • 重启MySQL服务:使配置生效。
    sudo systemctl restart mysql
    
  • 创建复制用户:在主节点MySQL中执行,用于从节点同步数据。
    CREATE USER 'replicator'@'%' IDENTIFIED BY 'StrongPassword123!';
        
    GRANT REPLICATION SLAVE ON *.* TO 'replicator'@'%';
        
    FLUSH PRIVILEGES;
        
    
  • 获取主节点二进制日志位置:记录File(日志文件名)和Position(日志位置),后续从节点需使用。
    SHOW MASTER STATUS;
        
    

3. 配置MySQL从节点(Slave)

  • 修改从节点配置文件:编辑/etc/mysql/mysql.conf.d/mysqld.cnf,设置server-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  # 与主节点一致
    read_only = 1                      # 只读模式(管理员可临时关闭)
    
  • 重启MySQL服务
    sudo systemctl restart mysql
    
  • 配置主从复制:在从节点MySQL中执行,关联主节点信息。
    CHANGE MASTER TO
      MASTER_HOST='主节点IP',
      MASTER_USER='replicator',
      MASTER_PASSWORD='StrongPassword123!',
      MASTER_LOG_FILE='记录的File值',
      MASTER_LOG_POS=记录的Position值;
        
    START SLAVE;
          -- 启动同步
    

4. 验证MySQL主从同步

  • 检查主节点复制状态:确保Slave_IO_RunningSlave_SQL_Running均为Yes(表示同步正常)。
    SHOW SLAVE STATUS\G
    
  • 测试数据同步:在主节点插入数据,检查从节点是否同步。
    -- 主节点操作
    USE your_database_name;
        
    INSERT INTO test_table (name) VALUES ('test_data');
        
    -- 从节点查询
    SELECT * FROM test_table;
      -- 应看到同步的数据
    

5. 配置Keepalived实现高可用

  • 安装Keepalived:已在环境准备中完成。
  • 配置Keepalived:编辑/etc/keepalived/keepalived.conf,定义虚拟IP(VIP)和故障转移策略(主节点优先,从节点备选)。
    vrrp_instance VI_1 {
    
        state MASTER           # 主节点设为MASTER,从节点设为BACKUP
        interface eth0         # 网络接口(根据实际情况调整,如ens33)
        virtual_router_id 51   # 集群唯一ID(1-255)
        priority 100           # 主节点优先级高于从节点(如主100,从90)
        advert_int 1           # 心跳间隔(秒)
        authentication {
    
            auth_type PASS
            auth_pass 42       # 主从节点密码一致
        }
    
        virtual_ipaddress {
    
            192.168.1.100      # 虚拟IP(集群访问入口)
        }
    
    }
        
    
  • 重启Keepalived服务
    sudo systemctl restart keepalived
    
  • 验证VIP绑定:主节点应绑定虚拟IP,从节点未绑定(故障时自动切换)。
    ip addr show eth0 | grep 192.168.1.100
    

6. 验证集群高可用

  • 停止主节点MySQL服务:模拟主节点故障。
    sudo systemctl stop mysql
    
  • 检查VIP转移:虚拟IP应自动切换到从节点(可通过ip addr命令确认)。
  • 恢复主节点服务:主节点重启后,应自动变为从节点(需调整priority或手动切换)。

7. 监控与维护

  • 日志监控:定期检查MySQL和Keepalived日志,排查异常。
    sudo tail -f /var/log/mysql/error.log
    sudo tail -f /var/log/keepalived/keepalived.log
    
  • 性能优化:使用Prometheus+Grafana监控集群性能(如QPS、延迟、复制延迟)。
  • 备份策略:定期备份数据库(如使用mysqldump),避免数据丢失。

注意事项

  • 确保主从节点网络互通(防火墙开放3306端口);
  • 从节点read_only模式可根据需求调整(如允许特定用户写入);
  • Keepalived的virtual_router_id需在集群内唯一;
  • 生产环境中建议使用更安全的认证方式(如SSL加密复制)。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: ubuntu中sqladmin如何进行集群部署
本文地址: https://pptw.com/jishu/741683.html
ubuntu下sqladmin如何进行容器化部署 ubuntu上sqladmin如何进行日志分析

游客 回复需填写必要信息