If the MySQL or MariaDB service is down, WordPress, e-commerce, and all dynamic websites cannot access the database. This guide safely diagnoses service, disk, permissions, socket, my.cnf, InnoDB, and Aria errors without deleting data files.
The “mysql” service appears to be down.
Failed to start MariaDB database server.
InnoDB: Unable to lock ./ibdata1 error: 11
Can't connect to local server through socket '/var/lib/mysql/mysql.sock'
Chkservd or cPanel service manager MariaDB detects when it is not running or not responding to health checks. Sometimes the service is really down; sometimes MariaDB appears to be down due to socket, connection, or monitoring method.
The actual reason for the service start error is usually not the last line in the systemctl output, but the first critical record in the MariaDB error log. The log should be read from the beginning of the boot and the first error should be found.
Errcode 28, no space left on device or temporary file creation failure indicates disk space or inode depletion. In this case, instead of changing the MariaDB setting, the file system's fullness should be resolved.
InnoDB corruption, checksum mismatch, or page corruption messages indicate data integrity risk. The ibdata1, ib_logfile, redo log, or table files should not be deleted without taking a server backup.
A MySQL socket error does not always mean the database is closed. The socket path expected by the client may differ from the one created by MariaDB, or an old PID/socket file may remain.
The diagnostic commands on this page do not modify data files. InnoDB force recovery, table repair, and file transfer operations should only be performed with a current backup and recovery plan.
Search for the phrase you see in the email, browser, or SSH log. Each card includes meaning, probable cause, and safe initial action.
Meaning: cPanel health check failed to verify MySQL/MariaDB service is running.
Possible cause: Service is closed, not responding, socket is different, disk is full or chkservd connection failed.
Meaning: The systemd startup process has not been completed successfully.
Possible cause: my.cnf error, permission, port conflict, disk, InnoDB/Aria recovery or corrupted package.
Meaning: cPanel restart script service has failed to come up; 2 root causes are not.
Possible cause: The actual error is found in the service start log.
Meaning: The InnoDB system tablespace appears to be locked by another process.
Possible cause: The second MariaDB process, for a half-started or old process.
Meaning: InnoDB data page integrity breach detected.
Possible cause: Disk issue, sudden power failure, hardware/RAM error, or corrupted page.
Meaning: Client could not connect to the expected Unix socket file.
Possible cause: Service is down, socket path is different, socket does not exist, or permission issue.
Meaning: MariaDB cannot write to temporary or permanent files.
Possible cause: Disk space or inode 100%, /tmp is full or quota limit.
Meaning: Cannot access the file in the MariaDB data directory.
Possible cause: Incorrect mysql:mysql ownership, SELinux context, permissions, or corruption after transfer.
Meaning: There is an unknown configuration parameter for the MariaDB version.
Possible cause: Upgrade, syntax error or old MySQL parameter.
Meaning: Indicates the port MariaDB wants to listen on is being used by another process.
Possible cause: Second MySQL instance, Docker/proxy or wrong service.
Meaning: Aria storage engine cannot open or retrieve logs.
Possible cause: Sudden shutdown, permission, disk fullness, or corrupted Aria logs
Meaning: chkServD control may not be able to connect while the database process is running.
Possible cause: Socket path, password/health check, MySQL Governor, or due to heavy load, timeout.
No records matching this expression were found.
Commands are for root access. Collect only status and logs first; Do not change the permanent setting without seeing the reason.
systemctl status mariadb -l --no-pager
/usr/local/cpanel/scripts/restartsrv_mysql --status
MariaDB and cPanel service control shows the situation together.
journalctl -u mariadb -n 200 --no-pager
Lists errors passed to systemd during startup and shutdown.
ls -lah /var/lib/mysql/*.err 2>/dev/null
tail -n 200 /var/lib/mysql/*.err 2>/dev/null
InnoDB, Aria, permission, and configuration errors are the primary source.
my_print_defaults mysqld
mysqld --verbose --help 2>/dev/null | head -n 30
Displays the loaded my.cnf options and binary information.
df -hT
df -ih
du -sh /var/lib/mysql /tmp 2>/dev/null
Errcode 28, temp file and write issues verify the file system side.
ss -lntp | grep ':3306'
ss -lxnp | grep -E 'mysql|maria'
find /run /var/lib/mysql -maxdepth 2 -type s -name '*mysql*.sock' -ls 2>/dev/null
Shows whether MariaDB is listening on a port or Unix socket.
ps auxf | grep -E '[m]ariadbd|[m]ysqld'
mysqladmin ping 2>&1
mysqladmin processlist 2>&1 | head -n 80
Dual process, service response, and stuck queries checking.
journalctl -k --since '2 hours ago' | grep -Ei 'oom|killed process|I/O error|ext4|xfs|nvme|sda'
Determines whether MariaDB has closed due to OOM or disk I/O error.
Validation of service status, finding the first critical log, separating the file system and configuration, safe restart, and data integrity check.
Get status, journal, and error log output. Frequent restarts may lose the first error line in log rotation.
systemctl status mariadb -l --no-pager
journalctl -u mariadb -n 200 --no-pager
tail -n 200 /var/lib/mysql/*.errIf disk or inode is full, first create a safe space. Determine why /var/lib/mysql ownership and SELinux context have changed.
df -hT
df -ih
namei -l /var/lib/mysqlIf there is an unknown variable or syntax error, back up the file and correct only the problematic parameter. Resetting the entire configuration may lose performance settings.
cp -av /etc/my.cnf /root/my.cnf.yedek-$(date +%F-%H%M)
my_print_defaults mysqldVerify which PID is using 3306 and the number of active mariadbd. Do not randomly kill the production process.
ss -lntp | grep ':3306'
ps auxf | grep -E '[m]ariadbd|[m]ysqld'After removing the root cause, use the cPanel service script and immediately inspect the new error log lines.
/usr/local/cpanel/scripts/restartsrv_mysql
sleep 5
systemctl status mariadb -l --no-pagermysqladmin ping, a simple SQL query, critical sites, and new error logs must be checked before considering the operation complete.
mysqladmin ping
mysql -NBe 'SELECT VERSION(), NOW();'
tail -n 80 /var/lib/mysql/*.errInstead of deleting database files, find the full mount point. Log, backup, /tmp, and binary log usage should be examined separately.
df -hT
df -ih
du -xhd1 /var 2>/dev/null | sort -h | tail -n 20Mostly another mariadbd process is still running. Do not delete ibdata1 or pid file without verifying the PID and process tree.
ps auxf | grep -E '[m]ariadbd|[m]ysqld'
lsof /var/lib/mysql/ibdata1 2>/dev/nullFirst, take a physical or snapshot backup. innodb_force_recovery is a temporary recovery tool for exporting data only; it is not a normal production mode.
grep -Ei 'corrupt|checksum|page.*error|crash' /var/lib/mysql/*.err | tail -n 100TCP connection is looking at the wrong socket path while the client is running. The socket options in my.cnf should match in both the client and server sections.
my_print_defaults client mysql mysqld | grep -i socket
ss -lxnp | grep -E 'mysql|maria'Chkservd timeout may occur due to intensity. Process list, slow query log, disk latency, and MySQL Governor should be examined together.
mysqladmin processlist
mysqladmin status
iostat -xz 1 5cPanel reports that it could not pass the MySQL/MariaDB health check. The service might really be closed or appear closed due to socket, load, and monitoring method.
First, examine journalctl -u mariadb and the .err file under /var/lib/mysql. The first critical ERROR line usually indicates the root cause.
No. ibdata1 is an InnoDB system tablespace and deleting it can lead to serious data loss; only an expert recovery plan and backup should be performed.
Usually indicates that disk space or inodes are running out. Check the mount point with df -h and df -i.
First, check if the service is running, where the actual socket is, and the path the client is expecting. Client and server socket settings should be matched.
On the cPanel server, the /usr/local/cpanel/scripts/restartsrv_mysql command is preferred. Logs must be retrieved before restart and error log must be checked again afterwards.
No. It is a temporary recovery mode for exporting data; it is not a permanent solution for write operations and normal production.
Chkservd cannot get response over socket or authentication, service may be timing out under heavy load or MySQL Governor layer may be affecting.
By analyzing cPanel, WHM, CloudLinux, LiteSpeed, MariaDB, Exim and security layers together, we fix the root cause of the failure instead of just removing the service.