温馨提示×

SQLAdmin在Debian中的使用技巧

小樊
39
2025-12-04 17:56:48
栏目: 云计算

Debian上SQLAdmin使用技巧

一 安装与仓库配置

  • 更新系统并安装必要工具:sudo apt update && sudo apt install -y software-properties-common wget gpg
  • 导入官方 GPG 公钥并添加 APT 源(Debian 12 代号 bookworm,其他版本将 $(lsb_release -cs) 替换为对应代号):
    • wget -qO - https://packages.sqladmin.io/debian/public.key | sudo gpg --dearmor -o /usr/share/keyrings/sqladmin.gpg
    • echo “deb [signed-by=/usr/share/keyrings/sqladmin.gpg] https://packages.sqladmin.io/debian/ $(lsb_release -cs) main” | sudo tee /etc/apt/sources.list.d/sqladmin.list > /dev/null
  • 安装与启动:sudo apt update && sudo apt install -y sqladmin;sudo systemctl enable --now sqladmin
  • 访问验证:打开浏览器访问 http://<服务器IP>:8080,确认登录页可正常打开。

二 配置文件与端口调整

  • 主配置文件路径:/etc/sqladmin/config.yaml。常见可调项:
    • listen.address:监听地址,建议生产环境设为 0.0.0.0(如需外网访问),或 127.0.0.1(仅本机)
    • listen.port:监听端口,默认 8080,可改为未被占用的高位端口(如 8081
  • 修改后使配置生效:sudo systemctl restart sqladmin
  • 防火墙放行(UFW 示例):sudo ufw allow 8080/tcp;如需数据库直连,也放行 3306/tcp(MySQL)5432/tcp(PostgreSQL)

三 数据库权限与安全加固

  • 创建最小权限的数据库账号(示例为 MySQL;PostgreSQL 见下):
    • CREATE USER ‘sqladmin’@‘localhost’ IDENTIFIED BY ‘强密码’;
    • GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, CREATE VIEW, SHOW VIEW ON your_db.* TO ‘sqladmin’@‘localhost’;
    • FLUSH PRIVILEGES;
  • PostgreSQL 示例(按需授予,避免过度授权):
    • CREATE USER sqladmin WITH PASSWORD ‘强密码’;
    • ALTER ROLE sqladmin SET client_encoding TO ‘UTF8’;
    • GRANT CONNECT ON DATABASE your_db TO sqladmin;
    • GRANT USAGE ON SCHEMA public TO sqladmin;
    • GRANT SELECT, INSERT, UPDATE, DELETE, TRUNCATE, REFERENCES, TRIGGER ON ALL TABLES IN SCHEMA public TO sqladmin;
    • ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT, INSERT, UPDATE, DELETE ON TABLES TO sqladmin;
  • 监听与访问控制:
    • MySQL:编辑 /etc/mysql/mysql.conf.d/mysqld.cnf,将 bind-address 设为 127.0.0.1(仅本机)或 0.0.0.0(允许远程,务必配合防火墙与强口令)
    • PostgreSQL:编辑 /etc/postgresql/*/main/postgresql.conf,将 listen_addresses 设为 ‘localhost’‘*’
    • 修改后重启数据库:sudo systemctl restart mysql 或 sudo systemctl restart postgresql
  • 安全建议:
    • 首次登录后立即修改默认密码,启用 HTTPS/TLS(反向代理或内置证书)
    • 仅在内网开放 SQLAdmin,或通过 Nginx/Apache 反向代理 + 认证 进行访问控制。

四 备份与自动化运维

  • 命令行备份(若 sqladmin 提供 CLI;以实际命令为准):
    • 备份:sqladmin backup -d <数据库名> -o /var/backups/$(date +%F%H-%M-%S).sql
    • 校验:检查返回码与备份文件大小是否合理
  • 定时任务(每日 02:00 备份):
    • 编辑:crontab -e
    • 添加:0 2 * * * /usr/local/bin/backup_db.sh >> /var/log/sqladmin_backup.log 2>&1
  • 日志与告警示例脚本要点:
    • 记录开始/结束时间与结果;失败时通过 mail/mut 等发送通知
    • 定期清理过期备份(如 find /var/backups -name “*.sql” -mtime +7 -delete)。

五 数据迁移与监控

  • 迁移流程建议:
    • 源库导出:mysqldump -u <用户> -p<密码> --single-transaction --routines --triggers --default-character-set=utf8mb4 <数据库> > backup.sql
    • 传输与导入:scp backup.sql <目标主机>:/tmp/;在目标库执行 mysql -u <用户> -p<密码> <数据库> < /tmp/backup.sql
    • 大表可分库分表或按表导出;导入前在 SQLAdmin 检查目标库字符集与存储引擎一致性
  • 监控与告警(若界面提供相应功能):
    • 在 SQLAdmin 中查看 连接数、查询性能、CPU/内存/磁盘 I/O 等指标
    • 配置阈值告警(如 cpu_usage > 80% 邮件通知),并结合系统日志与慢查询日志做根因分析。

0