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

Apache2、MariaDB及Nginx服务无法启动问题求助

Ubuntu服务器Apache2/MariaDB启动故障解决方法

故障现象

启动服务时提示:

Can't connect to MySQL localhost ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/run/mysqld/mysqld.sock' (2)

执行service mysql restart返回:

Job for mysql.service failed because the control process exited with error code.
See "systemctl status mysql.service" and "journalctl -xe" for details.

root:/home/admin# systemctl status mysql.service
● mysql.service - MySQL Community Server
     Loaded: loaded (/lib/systemd/system/mysql.service; disabled; vendor preset>
     Active: failed (Result: exit-code) since Fri 2023-07-21 23:47:07 CEST; 1mi>
    Process: 5983 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=e>

Jul 21 23:47:07 systemd[1]: mysql.service: Scheduled restart job, r>
Jul 21 23:47:07 systemd[1]: Stopped MySQL Community Server.
Jul 21 23:47:07 systemd[1]: mysql.service: Start request repeated t>
Jul 21 23:47:07 systemd[1]: mysql.service: Failed with result 'exit>
Jul 21 23:47:07 systemd[1]: Failed to start MySQL Community Server.

执行systemctl status mariadb.service返回:

Warning: The unit file, source configuration file or drop-ins of mariadb.servic>
● mariadb.service
     Loaded: masked (Reason: Unit mariadb.service is masked.)
    Drop-In: /etc/systemd/system/mariadb.service.d
             └─migrated-from-my.cnf-settings.conf
     Active: inactive (dead) since Fri 2023-07-21 23:42:42 CEST; 26min ago
   Main PID: 826 (code=exited, status=0/SUCCESS)
     Status: "MariaDB server is down"

Jul 21 23:42:42 mariadbd[826]: 2023-07-21 23:42:42 0 [Note] InnoDB:>
Jul 21 23:42:42 mariadbd[826]: 2023-07-21 23:42:42 0 [Note] InnoDB:>
Jul 21 23:42:42 mariadbd[826]: 2023-07-21 23:42:42 0 [Note] InnoDB:>
Jul 21 23:42:42 mariadbd[826]: 2023-07-21 23:42:42 0 [Note] InnoDB:>
Jul 21 23:42:42 mariadbd[826]: 2023-07-21 23:42:42 0 [Note] InnoDB:>
Jul 21 23:42:42 mariadbd[826]: 2023-07-21 23:42:42 0 [Note] InnoDB:>
Jul 21 23:42:42 mariadbd[826]: 2023-07-21 23:42:42 0 [Note] InnoDB:>
Jul 21 23:42:42 mariadbd[826]: 2023-07-21 23:42:42 0 [Note] /usr/sb>
Jul 21 23:42:42 systemd[1]: mariadb.service: Succeeded.
Jul 21 23:42:42 systemd[1]: Stopped MariaDB 10.5.21 database server.
lines 1-19/19 (END)...skipping...
Warning: The unit file, source configuration file or drop-ins of mariadb.servic>
● mariadb.service
     Loaded: masked (Reason: Unit mariadb.service is masked.)
    Drop-In: /etc/systemd/system/mariadb.service.d
             └─migrated-from-my.cnf-settings.conf
     Active: inactive (dead) since Fri 2023-07-21 23:42:42 CEST; 26min ago
   Main PID: 826 (code=exited, status=0/SUCCESS)
     Status: "MariaDB server is down"

Jul 21 23:42:42 mariadbd[826]: 2023-07-21 23:42:42 0 [Note] InnoDB:>
Jul 21 23:42:42 mariadbd[826]: 2023-07-21 23:42:42 0 [Note] InnoDB:>
Jul 21 23:42:42 mariadbd[826]: 2023-07-21 23:42:42 0 [Note] InnoDB:>
Jul 21 23:42:42 mariadbd[826]: 2023-07-21 23:42:42 0 [Note] InnoDB:>
Jul 21 23:42:42 mariadbd[826]: 2023-07-21 23:42:42 0 [Note] InnoDB:>
Jul 21 23:42:42 mariadbd[826]: 2023-07-21 23:42:42 0 [Note] InnoDB:>
Jul 21 23:42:42 mariadbd[826]: 2023-07-21 23:42:42 0 [Note] InnoDB:>
Jul 21 23:42:42 mariadbd[826]: 2023-07-21 23:42:42 0 [Note] /usr/sb>
Jul 21 23:42:42 systemd[1]: mariadb.service: Succeeded.
Jul 21 23:42:42 systemd[1]: Stopped MariaDB 10.5.21 database server.

解决步骤

1. 解除MariaDB服务的Mask状态

Masked状态会阻止服务启动,先执行解除命令:

systemctl unmask mariadb.service

2. 清理MySQL与MariaDB的冲突残留

Ubuntu环境中MySQL和MariaDB服务易存在冲突,先停用并禁用MySQL服务:

systemctl stop mysql.service
systemctl disable mysql.service

3. 修复MariaDB的Systemd配置

处理可能存在的配置冲突文件:

# 备份原配置文件
cp /etc/systemd/system/mariadb.service.d/migrated-from-my.cnf-settings.conf /etc/systemd/system/mariadb.service.d/migrated-from-my.cnf-settings.conf.bak
# 删除冲突配置文件
rm /etc/systemd/system/mariadb.service.d/migrated-from-my.cnf-settings.conf
# 重新加载Systemd配置
systemctl daemon-reload

4. 修复Socket文件相关问题

针对无法连接/run/mysqld/mysqld.sock的错误,检查并修复目录权限:

# 查看目录权限状态
ls -ld /run/mysqld/
# 若目录不存在则创建并设置正确权限
mkdir -p /run/mysqld/ && chown mysql:mysql /run/mysqld/

5. 启动并启用MariaDB服务

systemctl start mariadb.service
systemctl enable mariadb.service

6. 验证MariaDB状态

systemctl status mariadb.service
# 测试数据库连接
mysql -u root -p

7. Apache2服务修复

若Apache2仍无法启动,执行以下步骤定位并解决问题:

# 查看服务状态
systemctl status apache2.service
# 查看错误日志排查问题
tail -n 20 /var/log/apache2/error.log
# 验证配置文件正确性
apache2ctl configtest
# 修复配置后重启服务
systemctl restart apache2.service

内容的提问来源于stack exchange,提问作者Spong my bob

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 15:24:54