温馨提示×

Debian MariaDB连接数设置方法是什么

小樊
37
2025-12-09 04:09:56
栏目: 云计算

Debian 上 MariaDB 连接数设置方法

一 查看当前连接数与上限

  • 登录数据库后执行:
    • 查看最大连接数:SHOW VARIABLES LIKE 'max_connections';
    • 查看当前连接:SHOW STATUS LIKE 'Threads_connected';
    • 常见默认值为151,并发不足时会出现 “Too many connections” 报错。

二 临时调整最大连接数

  • 动态生效,重启后失效:
    • SET GLOBAL max_connections = 1000;(示例值,可按需调整)
    • 立即用 SHOW VARIABLES LIKE 'max_connections'; 验证。

三 永久调整最大连接数

  • 编辑配置文件(Debian 10/11 常用路径):
    • sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
    • [mysqld] 段添加或修改:max_connections = 1000
    • 重启服务:sudo systemctl restart mariadb
    • 再次登录验证:SHOW VARIABLES LIKE 'max_connections';
  • 若使用其他发行版或自定义路径,也可在 /etc/my.cnf[mysqld] 段设置并重启。

四 无法登录时的应急与系统限制

  • 应急:当连接耗尽无法登录时,可先重启服务释放连接:sudo systemctl restart mariadb,随后按上文永久配置。
  • 系统限制:若设置值很大却未生效(如仍为214),通常是 systemd 或内核限制导致。
    • 编辑服务单元:sudo systemctl edit --full mariadb(或编辑 /usr/lib/systemd/system/mariadb.service
    • [Service] 段增加:
      • LimitNOFILE=10000
      • LimitNPROC=10000
    • 重新加载并重启:
      • sudo systemctl daemon-reload
      • sudo systemctl restart mariadb
    • 再次验证 max_connections 是否生效。

五 连接数设置建议

  • 并非越大越好,需结合内存与业务并发评估。可参考:
    • 推荐值 ≈ (可用内存 − 系统及其他服务占用) / 单连接内存消耗
    • 同时配合合理设置 wait_timeout,回收空闲连接,避免连接泄漏与资源浪费。

0