启动mysql报错 Error on realpath()

问题

docker  使用mysql8镜像时加载指定的外部配置文件和存储目录,报错

mysqld: Error on realpath() on '/var/lib/mysql-files' (Error 2 - No such file or directory

原因

当指定了外部配置文件与外部存储路径时,也需要指定 /var/lib/mysql-files的外部目录

解决

1.  在主机新建/home/mysql/mysql-files目录

2. 在启动容器时 需要加上 -v /home/mysql/mysql-files:/var/lib/mysql-files/

3. 完整的启动命令如下

docker run -d -p 3305:3306 -e MYSQL_ROOT_PASSWORD=123456 --name mysql -v /home/mysql/data:/var/lib/mysql -v /home/mysql/mysql-files:/var/lib/mysql-files/

最后就可以正常启动了,是不是很简单呢 0..0

 

感谢您的阅读!如果文章中有任何错误,或者您有更好的理解和建议,欢迎和我联系!

 

 

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
当在 Docker 中部署 MySQL 并挂载目录存储数据时,出现 "Error on realpath() on '/var/lib/mysql-files'" 错误可能是由于挂载目录的权限问题引起的。您可以尝试以下解决方法: 1. 检查挂载目录的权限:确保宿主机上的挂载目录具有适当的权限,以便 MySQL 容器可以读取和写入文件。您可以使用以下命令更改权限: ```shell sudo chmod 777 /path/to/mysql-files ``` 这将为挂载目录设置最高权限,但请注意,这可能会带来一定的安全风险。如果需要更严格的权限控制,请根据需求设置适当的权限。 2. 确保挂载目录存在:确保宿主机上指定的挂载目录实际存在。如果目录不存在,您可以手动创建它: ```shell sudo mkdir /path/to/mysql-files ``` 3. 更改 MySQL 配置文件:在 MySQL 配置文件中,您可以指定 MySQL 服务器使用其他目录来访问和操作文件。编辑 MySQL 配置文件(通常是 my.cnf 或 my.ini),并将 `mysql-files` 目录更改为您实际挂载的目录。确保修改以下配置项: ``` [mysqld] ... secure-file-priv = /path/to/mysql-files ... ``` 将 `/path/to/mysql-files` 替换为您实际挂载的目录路径。 4. 重新启动 MySQL 容器:根据您使用的方法,重新启动 MySQL 容器以使更改生效。您可以使用以下命令: ```shell docker restart mysql-container ``` 通过执行上述步骤,您应该能够解决 "Error on realpath() on '/var/lib/mysql-files'" 错误,并使 MySQL 正常访问和操作挂载的目录。请确保在更改权限或修改配置文件时谨慎操作,并根据实际需求做出相应的调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值