[root@localhost ~]# systemctl status mariadb.service ● mariadb.service - MariaDB database server Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled) Active: failed (Result: exit-code) since 一 2023-06-12 07:20:3
时间: 2024-03-26 09:39:19 浏览: 181
根据你提供的信息,这是一个关于 Mariadb 服务的状态查询命令。从状态信息来看,该服务最近一次的运行结果为“exit-code”,即退出代码非零,说明该服务在最近一次运行时发生了错误导致运行失败。需要查看服务的日志文件以确定具体的失败原因。你可以尝试运行以下命令来查看 Mariadb 服务的日志信息:
```
journalctl -u mariadb.service
```
该命令将显示 Mariadb 服务的所有日志信息,你可以根据其中的错误信息来调试和解决问题。
相关问题
[root@idp ~]# systemctl status mariadb × mariadb.service - MariaDB 10.5.25 database server Loaded: loaded (/usr/lib/systemd/system/mariadb.service; disabled; vendor preset: disabled) Active: failed (Result: exit-code) since Thu 2025-03-13 16:03:54 CST; 2min 6s ago Docs: man:mariadbd(8) https://mariadb.com/kb/en/library/systemd/ Process: 5158 ExecStartPre=/usr/libexec/mariadb-check-socket (code=exited, status=0/SUCCESS) Process: 5182 ExecStartPre=/usr/libexec/mariadb-prepare-db-dir mariadb.service (code=exited, status=0/SUCCESS) Process: 5219 ExecStart=/usr/libexec/mariadbd --basedir=/var/lib/mysql/ $MYSQLD_OPTS $_WSREP_NEW_CLUSTER (code=exited, status=1/FAILURE) Main PID: 5219 (code=exited, status=1/FAILURE) Status: "MariaDB server is down" 3月 13 16:03:54 idp.imun.edu.cn systemd[1]: Starting MariaDB 10.5.25 database server... 3月 13 16:03:54 idp.imun.edu.cn mariadb-prepare-db-dir[5182]: Database MariaDB is probably initialized in /var/lib/mysql already, nothing is done. 3月 13 16:03:54 idp.imun.edu.cn mariadb-prepare-db-dir[5182]: If this is not the case, make sure the /var/lib/mysql is empty before running mariadb-prepare-db-dir. 3月 13 16:03:54 idp.imun.edu.cn mariadbd[5219]: 2025-03-13 16:03:54 0 [Warning] option 'expire_logs_days': unsigned value 180 adjusted to 99 3月 13 16:03:54 idp.imun.edu.cn systemd[1]: mariadb.service: Main process exited, code=exited, status=1/FAILURE 3月 13 16:03:54 idp.imun.edu.cn systemd[1]: mariadb.service: Failed with result 'exit-code'. 3月 13 16:03:54 idp.imun.edu.cn systemd[1]: Failed to start MariaDB 10.5.25 database server.
从您提供的信息来看,MariaDB服务未能成功启动,并返回了 `failed` 状态。以下是关于这一问题的具体分析及解决步骤:
---
### **问题描述**
日志显示以下关键点:
1. **启动失败**:`Active: failed (Result: exit-code)` 表明 MariaDB 启动过程中发生错误。
2. **进程退出状态码为 1**:`ExecStart=/usr/libexec/mariadbd ... (code=exited, status=1/FAILURE)`
- 这意味着主程序 `mariadbd` 执行时发生了致命错误。
3. **警告信息**:`option 'expire_logs_days': unsigned value 180 adjusted to 99`
- 配置文件中的某个选项值超出范围,系统将其调整到默认最大值(99天),但这通常是次要问题。
此外,日志提到 `/var/lib/mysql` 目录已初始化过 (`Database MariaDB is probably initialized in /var/lib/mysql already`),因此不是首次安装的问题。
---
### **常见原因与排查方法**
#### **1. 检查配置文件是否有误**
MariaDB 的核心配置位于 `/etc/my.cnf` 或 `/etc/mysql/my.cnf` 文件中。您可以检查以下几个方面:
- 是否存在语法错误。
- 参数是否合理(如上述的 `expire_logs_days` 警告)。
- 数据目录路径设置是否正确。
命令示例:
```bash
grep "^#" /etc/my.cnf -v # 查看非注释行内容
```
如果修改过配置,请恢复原始版本并逐步测试。
---
#### **2. 数据目录权限问题**
确认数据存储目录 `/var/lib/mysql` 的权限是否正常。用户应为 `mysql:mysql` 并具备读写权限。
修复命令:
```bash
sudo chown -R mysql:mysql /var/lib/mysql/
sudo chmod -R 750 /var/lib/mysql/
```
---
#### **3. 日志文件分析**
查看详细的错误日志,通常存放在 `/var/log/mysqld.log` 中。
查找关键字:
```bash
tail -n 50 /var/log/mysqld.log | grep ERROR
```
常见的导致无法启动的原因包括:
- InnoDB 存储引擎损坏;
- 硬盘空间不足;
- 锁定文件未释放等。
---
#### **4. 端口冲突**
确保 MySQL 默认端口(3306)没有被其他服务占用。
检测命令:
```bash
netstat -tulnp | grep 3306
```
如果有冲突,则需要停止占用该端口的服务或将 MariaDB 切换至另一个端口号。
---
#### **5. 内存资源限制**
某些低内存环境可能导致数据库无法加载。可以尝试增大交换分区或减少缓冲池大小。
临时解决方案:
编辑 `/etc/my.cnf` 添加以下内容:
```ini
innodb_buffer_pool_size = 128M
key_buffer_size = 16M
```
然后重启服务试试。
---
### **解决问题后的验证操作**
完成以上修正之后,再试着重新启动 MariaDB 服务:
```bash
sudo systemctl restart mariadb
```
若仍然报错,请再次参考日志定位详细问题来源。
---
###
Failed to start mariadb.service: Unit mariadb.service not found.
这个错误提示表明系统没有找到 mariadb.service 这个服务单元,可能是因为 MariaDB 没有正确安装或者安装过程中出现了错误。你可以尝试重新安装 MariaDB 并检查是否出现错误。如果问题仍然存在,你可以尝试使用以下命令来手动启动 MariaDB 服务:
```
sudo systemctl start mysqld
```
如果服务启动成功,你可以使用以下命令来检查 MariaDB 服务的状态:
```
sudo systemctl status mysqld
```
如果服务运行正常,你应该能够看到类似于以下内容的输出:
```
● mysqld.service - MariaDB database server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
Active: active (running) since Wed 2021-09-15 09:30:45 UTC; 3s ago
Process: 296 ExecStartPost=/usr/libexec/mariadb-wait-ready $MAINPID (code=exited, status=0/SUCCESS)
Process: 268 ExecStartPre=/usr/libexec/mariadb-prepare-db-dir %n (code=exited, status=0/SUCCESS)
Main PID: 295 (mysqld_safe)
CGroup: /system.slice/mysqld.service
├─295 /bin/sh /usr/bin/mysqld_safe --basedir=/usr
└─505 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --log-error=/var/log/mariadb/mariadb.log --pid-file=/run/mysqld/mysqld.pid --socket=/var/lib/mysql/mysql.sock
Sep 15 09:30:44 centos-7-x64 systemd[1]: Starting MariaDB database server...
Sep 15 09:30:44 centos-7-x64 mysqld_safe[295]: 210915 09:30:44 mysqld_safe Logging to '/var/log/mariadb/mariadb.log'.
Sep 15 09:30:44 centos-7-x64 mysqld_safe[295]: 210915 09:30:44 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
Sep 15 09:30:45 centos-7-x64 systemd[1]: Started MariaDB database server.
```
如果服务没有运行,你可以查看日志文件 /var/log/mariadb/mariadb.log 来查找问题并尝试解决它。
阅读全文
相关推荐

















