You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CentOS7服务器上MariaDB v5频繁自动重启问题求助

故障排查请求:CentOS7上MariaDB每隔20秒自动重启

问题现象

  • CentOS7服务器上的MariaDB服务每隔约20秒自动重启,无明显触发报错
  • 即使停止HTTP服务、无任何数据库查询请求,服务仍持续循环重启
  • 该问题导致无法完成数据库备份

服务器资源状态

  • CPU负载约0.1
  • 内存使用率约40%
  • 未使用交换分区

systemd日志片段

Aug 13 11:16:10 instance-1 systemd: Stopping MariaDB database server...
Aug 13 11:16:13 instance-1 systemd: Stopped MariaDB database server.
Aug 13 11:16:13 instance-1 systemd: Starting MariaDB database server...
Aug 13 11:16:13 instance-1 mariadb-prepare-db-dir: Database MariaDB is probably initialized in /var/lib/mysql already, nothing is done.
Aug 13 11:16:13 instance-1 mariadb-prepare-db-dir: If this is not the case, make sure the /var/lib/mysql is empty before running mariadb-prepare-db-dir.
Aug 13 11:16:13 instance-1 mysqld_safe: 220813 11:16:13 mysqld_safe Logging to '/var/log/mariadb/mariadb.log'.
Aug 13 11:16:13 instance-1 mysqld_safe: 220813 11:16:13 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
Aug 13 11:16:15 instance-1 systemd: Started MariaDB database server.
Aug 13 11:16:45 instance-1 systemd: Stopping MariaDB database server...
Aug 13 11:16:49 instance-1 systemd: Stopped MariaDB database server.
Aug 13 11:16:49 instance-1 systemd: Starting MariaDB database server...
Aug 13 11:16:49 instance-1 mariadb-prepare-db-dir: Database MariaDB is probably initialized in /var/lib/mysql already, nothing is done.
Aug 13 11:16:49 instance-1 mariadb-prepare-db-dir: If this is not the case, make sure the /var/lib/mysql is empty before running mariadb-prepare-db-dir.
Aug 13 11:16:49 instance-1 mysqld_safe: 220813 11:16:49 mysqld_safe Logging to '/var/log/mariadb/mariadb.log'.
Aug 13 11:16:49 instance-1 mysqld_safe: 220813 11:16:49 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
Aug 13 11:16:51 instance-1 systemd: Started MariaDB database server.

MariaDB日志片段(/var/log/mariadb/mariadb.log)

Version: '5.5.68-MariaDB'  socket: '/var/lib/mysql/mysql.sock'  port: 3306  MariaDB Server
220813 11:25:41 [Note] /usr/libexec/mysqld: Normal shutdown
220813 11:25:41 [Note] Event Scheduler: Purging the queue. 0 events
220813 11:25:41  InnoDB: Starting shutdown...
220813 11:25:44  InnoDB: Shutdown completed; log sequence number 28842439769
220813 11:25:44 [Note] /usr/libexec/mysqld: Shutdown complete

220813 11:25:44 mysqld_safe mysqld from pid file /run/mariadb/mariadb.pid ended
220813 11:25:45 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
220813 11:25:45 [Note] /usr/libexec/mysqld (mysqld 5.5.68-MariaDB) starting as process 22908 ...
220813 11:25:45 InnoDB: The InnoDB memory heap is disabled
220813 11:25:45 InnoDB: Mutexes and rw_locks use GCC atomic builtins
220813 11:25:45 InnoDB: Compressed tables use zlib 1.2.7
220813 11:25:45 InnoDB: Using Linux native AIO
220813 11:25:45 InnoDB: Initializing buffer pool, size = 128.0M
220813 11:25:45 InnoDB: Completed initialization of buffer pool
220813 11:25:45 InnoDB: highest supported file format is Barracuda.
220813 11:25:45  InnoDB: Waiting for the background threads to start
220813 11:25:46 Percona XtraDB (http://www.percona.com) 5.5.61-MariaDB-38.13 started; log sequence number 28842439769
220813 11:25:46 [Note] Plugin 'FEEDBACK' is disabled.
220813 11:25:46 [Note] Server socket created on IP: '0.0.0.0'.
220813 11:25:46 [Note] Event Scheduler: Loaded 0 events
220813 11:25:46 [Note] /usr/libexec/mysqld: ready for connections.
Version: '5.5.68-MariaDB'  socket: '/var/lib/mysql/mysql.sock'  port: 3306  MariaDB Server

排查思路

  • 检查systemd服务配置:查看/usr/lib/systemd/system/mariadb.service或/etc/systemd/system/mariadb.service.d/下的配置文件,确认Restart等参数是否设置异常,比如是否存在导致服务被强制重启的规则
  • 排查外部触发因素:
    • 查看定时任务:执行crontab -l(分别检查root和mysql用户),确认是否有定时停止MariaDB的任务
    • 跟踪进程终止信号:用strace -p <mariadb进程ID>实时跟踪进程,查看是否收到SIGTERM/SIGKILL等终止信号
    • 检查系统内核日志:执行dmesg查看是否有内核层面的错误导致进程被终止
  • 验证MariaDB配置与权限:
    • 检查/etc/my.cnf及/etc/my.cnf.d/下的配置,确认是否存在异常的超时或自动退出参数
    • 确认/var/lib/mysql目录及文件的所有者为mysql:mysql,权限设置正常
  • 检查数据库完整性:
    • 手动启动安全模式:执行mysqld_safe --skip-grant-tables --skip-networking,观察服务是否仍会自动重启
    • 验证InnoDB完整性:在安全模式下执行CHECK TABLE检查核心表,或使用innochecksum工具验证InnoDB数据文件
  • 排查服务监控机制:
    • 执行systemctl show mariadb查看服务的监控参数,比如WatchdogSec是否被误配置导致服务被判定为无响应而重启
    • 检查是否存在第三方监控工具(如monit)在监控MariaDB并触发重启操作

内容的提问来源于stack exchange,提问作者JIm Rolt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 09:54:15