【MySQL】mysqld Can‘t read dir of ‘etcmysqlconf.d‘ (Errcode 2 - No such file or directory)

有时候我们在使用Docker启动MySQL的时候会遇到启动失败,使用docker logs命令查看的时候发现了如下的错误日志.

[ERROR] [Entrypoint]: mysqld failed while attempting to check config
        command was: mysqld --verbose --help --log-bin-index=/tmp/tmp.WHijR591XA
        mysqld: Can't read dir of '/etc/mysql/conf.d/' (Errcode: 2 - No such file or directory)
mysqld: [ERROR] Fatal error in defaults handling. Program aborted!

看到这个错误日志大家不要慌,大概意思就是说没找到 /etc/mysql/conf.d 这个文件夹。原因其实是官方丫的配置文件已经不放在/etc/mysql底下了,这底下就两个空文件夹。

解决方案

1.先创建一个简单的mysql容器实例

docker run -p 3306:3306 --name  sample-mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7

2.复制里面的/etc/mysql文件夹

docker cp sample-mysql:/etc/mysql/. /mydata/mysql/conf

3.删除掉临时容器

docker rm -f sample-mysql

4.启动完整的容器命令

docker run \
-p 3306:3306 \
--name mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
--privileged=true
-d mysql:5.7
  • 10
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 12
    评论
### 回答1: mysqld:无法更改文件夹至'c:\\program files\\mysql\\mysql server 5.7\\data\\' (错误代码:2-找不到文件或文件夹) 出现此错误可能是因为数据目录路径无效或不存在。请确保数据目录路径设置正确,并且该目录实际存在。如果目录不存在,请创建该目录并重新启动MySQL服务。 ### 回答2: 这是一个MySQL服务器运行时可能发生的错误,它通常是由于文件或目录不存在而引起的。出现这个错误的原因可能有很多,下面是一些可能的解决方案: 1. 检查MySQL的安装目录,确保数据文件夹存在于正确的路径下。在这个例子中,应该检查是否存在一个名为"c:\program files\mysql\mysql server 5.7\data\"的文件夹。 2. 确保MySQL用户有权限访问数据文件夹。这可能需要向操作系统管理员请求特殊权限。 3. 可能在启动MySQL服务器时指定了错误的数据文件夹。在启动脚本中检查数据文件夹路径是否正确。 4. 可能是数据文件夹已经被移动或删除。检查数据文件夹是否存在,并在必要时恢复备份文件或重新创建数据文件夹。 总之,解决这个错误需要仔细检查MySQL的安装和配置,确保文件和目录存在并且拥有正确的权限。如果仍然无法解决问题,可以查看MySQL的日志文件,查找更多信息和错误信息,以帮助进一步排除问题。 ### 回答3: 这个错误提示表明,在启动MySQL服务时,MySQL无法将当前工作目录更改为“c:\program files\mysql\mysql server 5.7\data\”,因为该目录不存在或无法访问。 要解决这个问题,首先要确保“c:\program files\mysql\mysql server 5.7\data\”目录存在,并且MySQL用户(通常为“mysql”)具有访问该目录的权限。如果目录不存在,则需要手动创建它,或者重新安装MySQL以确保该目录存在。 如果目录存在且具有正确的权限,但是MySQL仍然无法访问它,则可能是由于文件系统损坏或磁盘错误造成的。在这种情况下,建议对文件系统进行检查和修复,或者尝试在其他磁盘上重新创建“data”目录,并将MySQL配置文件中的数据目录更改为新目录。 此外,需要检查MySQL配置文件中的数据目录路径是否正确。在my.cnf文件中,可以找到“datadir”选项指定数据目录的路径。确保该路径正确设置为数据目录的完整路径,“c:\program files\mysql\mysql server 5.7\data\”在本例中。 总之,要解决这个错误,需要检查数据目录是否存在、是否具有正确的权限,并检查MySQL配置文件中的数据目录路径是否正确设置。如果所有这些都是正确的,但仍然无法解决问题,则需要进一步诊断可能的文件系统或磁盘故障。
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杰肥啊

你的鼓励是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值