MySQL(Mariadb)启动失败

问题

修改/etc/my.conf文件中的数据保存目录后,mariadb启动失败。

排查

使用systemctl status mariadb.service查看原因

[root@linux-4-193 mysql]# systemctl status mariadb.service
● mariadb.service - MariaDB database server
   Loaded: loaded (/usr/lib/systemd/system/mariadb.service; disabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since 三 2022-01-12 21:02:39 EST; 2s ago
  Process: 11377 ExecStartPost=/usr/libexec/mariadb-wait-ready $MAINPID (code=exited, status=1/FAILURE)
  Process: 11375 ExecStart=/usr/bin/mysqld_safe --basedir=/usr (code=exited, status=0/SUCCESS)
  Process: 11247 ExecStartPre=/usr/libexec/mariadb-prepare-db-dir %n (code=exited, status=0/SUCCESS)
 Main PID: 11375 (code=exited, status=0/SUCCESS)

112 21:02:38 linux-4-193 mariadb-prepare-db-dir[11247]: You can find additional information about the MySQL part at:
112 21:02:38 linux-4-193 mariadb-prepare-db-dir[11247]: http://dev.mysql.com
112 21:02:38 linux-4-193 mariadb-prepare-db-dir[11247]: Consider joining MariaDB's strong and vibrant community:
1月 12 21:02:38 linux-4-193 mariadb-prepare-db-dir[11247]: https://mariadb.org/get-involved/
1月 12 21:02:38 linux-4-193 mysqld_safe[11375]: 220112 21:02:38 mysqld_safe Logging to '/var/log/mariadb/mariadb.log'.
112 21:02:38 linux-4-193 mysqld_safe[11375]: 220112 21:02:38 mysqld_safe Starting mysqld daemon with databases from /data/mysql
112 21:02:39 linux-4-193 systemd[1]: mariadb.service: control process exited, code=exited status=1
112 21:02:39 linux-4-193 systemd[1]: Failed to start MariaDB database server.
112 21:02:39 linux-4-193 systemd[1]: Unit mariadb.service entered failed state.
112 21:02:39 linux-4-193 systemd[1]: mariadb.service failed.
[root@linux-4-193 mysql]# ll

根据提示查看mariadb启动日志

[root@linux-4-193 mysql]# cat /var/log/mariadb/mariadb.log
220112 01:08:28 mysqld_safe Starting mysqld daemon with databases from /data/mysql
220112  1:08:28 [Note] /usr/libexec/mysqld (mysqld 5.5.68-MariaDB) starting as process 22271 ...
220112  1:08:28 [Warning] Can't create test file /data/mysql/linux-4-193.lower-test
220112  1:08:28 InnoDB: The InnoDB memory heap is disabled
220112  1:08:28 InnoDB: Mutexes and rw_locks use GCC atomic builtins
220112  1:08:28 InnoDB: Compressed tables use zlib 1.2.7
220112  1:08:28 InnoDB: Using Linux native AIO
220112  1:08:28 InnoDB: Initializing buffer pool, size = 128.0M
220112  1:08:28 InnoDB: Completed initialization of buffer pool
220112  1:08:28  InnoDB: Operating system error number 13 in a file operation.
InnoDB: The error means mysqld does not have the access rights to
InnoDB: the directory.
InnoDB: File name ./ibdata1
InnoDB: File operation call: 'create'.
InnoDB: Cannot continue operation.
220112 01:08:28 mysqld_safe mysqld from pid file /var/run/mariadb/mariadb.pid ended

The error means mysqld does not have the access rights to
可以看到是没有目录的处理权限。

解决

执行 chown mysql:mysql data 赋予mysql用户数据目录的权限即可。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 首先要确保你已经正确安装了MariaDB,检查一下你的配置文件,查看有没有任何错误。此外,你还可以在命令行中使用mysqld --verbose --help命令查看MariaDB的启动过程是否有任何错误。 ### 回答2: 当MariaDB启动失败时,可能存在多种原因导致的问题。以下是一些常见的故障排除步骤和解决方法: 1. 检查日志文件:首先,查看MariaDB服务器的日志文件,通常位于/var/log/mysql/目录下,查找关于启动失败的错误信息。日志文件将提供有关问题的详细信息,如错误代码、故障原因等。 2. 检查配置文件:确保MariaDB的配置文件(通常为/etc/my.cnf或/etc/mysql/my.cnf)正确配置。检查文件中的关键配置项,如数据库路径、端口号、用户名和密码等。 3. 检查端口占用情况:确保MariaDB使用的端口没有被其他程序占用。你可以使用netstat命令或者lsof命令来查看端口占用情况。如果端口被占用,可以尝试更改MariaDB的监听端口。 4. 检查文件权限:确保数据库文件和目录的权限正确设置。MariaDB需要对数据目录具有读写权限。你可以使用 ls -l 命令检查权限设置,如果权限不正确,使用 chmod 命令进行更改。 5. 检查系统资源:如果服务器资源(如内存、硬盘空间等)不足,可能会导致MariaDB启动失败。确保系统有足够的资源来运行MariaDB。 6. 启用调试模式:在MariaDB的配置文件中启用调试模式(通常为log-error=/var/log/mysql/error.log),这将提供更详细的错误信息。重启MariaDB后,再次查看错误日志以获取更多的信息。 以上是一些常见的解决启动失败的问题的方法。如果问题仍然存在,建议查阅MariaDB的官方文档或寻求相关技术支持。 ### 回答3: Mariadb启动失败可能是由于以下几个原因: 1. 配置文件错误:检查Mariadb的配置文件(my.cnf)是否有语法错误或者配置项设置不正确。可以通过查看错误日志文件(通常是/var/log/mysql/error.log)来获取具体的错误信息。 2. 端口冲突:如果已经有其他服务在使用Mariadb默认的端口(3306),那么会导致启动失败。可以通过修改Mariadb的配置文件中的端口来解决冲突。 3. 文件权限问题:Mariadb需要访问相应的数据目录和日志文件,如果权限设置不正确,会导致启动失败。可以通过查看错误日志文件来查看具体的权限错误信息,并相应地进行权限设置。 4. 资源不足:如果系统资源不足(如内存),启动Mariadb时可能会失败。可以通过查看系统日志文件来查看是否有相关错误信息,并相应地增加系统资源。 5. 数据库损坏:如果数据库文件损坏,可能会导致Mariadb启动失败。可以尝试进行数据库修复操作,或者恢复备份文件。 综上所述,Mariadb启动失败的原因可能有多种,需要根据具体的错误信息来进行诊断和解决。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值