mysqld初始化Can‘t create directory ‘/usr/local/mysql/data/’(Errcode:2 -No such file or directory)

本文记录了在安装MySQL 5.7.31时遇到的初始化和启动错误,以及如何通过指定basedir和datadir进行解决。在初始化阶段,可以通过mysqld命令加上--initialize--console选项指定目录。启动时,同样需要指定--basedir和--datadir,或者使用--defaults-file指定配置文件。问题解决后,确认MySQL服务正常运行,可使用ps命令检查进程。
摘要由CSDN通过智能技术生成

前言

在使用 MySQL 5.7.31 版本时,用户可能会遇到初始化和启动过程中的错误。这些错误可能会阻碍数据库服务器的正常运行。本文将详细分析这些错误,并提供有效的解决方案。

问题分析

mysql版本 mysql-5.7.31 初始化报错 报错信息

mysqld: Can't create directory '/usr/local/mysql/data/' (Errcode: 2 - No such fi
le or directorv)

详细错误如下图

配置文件是配置对的  my.cnf 配置文件权限也没有问题 默认初始化怎么还是会到/usr/local/mysql目录

配置文件检查

首先,确保 my.cnf 配置文件的路径和内容是正确的。MySQL 服务器的默认配置文件通常位于 /etc/my.cnf/etc/mysql/my.cnf,但在自定义安装中,路径可能会有所不同。

权限问题

检查 my.cnf 配置文件的权限,确保 MySQL 用户(通常是 mysql 用户)具有读取权限。

解决方案

初始化时 执行配置文件

确保在初始化过程中指定了正确的配置文件。如果默认初始化路径不是预期的目录,可以通过 --defaults-file 参数指定正确的配置文件路径。

如下初始化命令:

./mysqld --defaults-file=/usr/local/develop/mysql-5.7.31/my.cnf --initialize --console

如果配置没问题 应该可以初始化成功 如下图

启动避免使用 start 命令

在启动命令后不要添加 start,因为这可能会导致另一个错误。正确的命令应该直接调用 mysqld 并指定必要的参数。

错误示例如下图

如下命令

./mysqld --defaults-file=/usr/local/develop/mysql-5.7.31-slave/my.cnf --user=root

启动后,检查 MySQL 进程

启动命令执行成功后,使用以下命令检查 MySQL 进程是否正常运行:

ps -ef | grep mysql

其他技巧

错误日志

如果遇到启动问题,检查 MySQL 的错误日志文件,通常位于 datadir 目录下,名为 hostname.err。错误日志文件中可能包含有关问题的详细信息。

配置文件最佳实践

  • 将 my.cnf 配置文件放在安全的位置,并确保只有必要的用户具有访问权限。
  • 避免在配置文件中使用敏感信息,如密码。
  • 定期备份配置文件和数据库。

总结

通过本文的分析和解决方案,你应该能够解决 MySQL 5.7.31 版本在初始化和启动过程中遇到的问题。确保正确配置和使用 my.cnf 文件,避免在命令中添加不必要的参数,是成功启动 MySQL 服务器的关键。

附录

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值