1 问题背景
今天在配置mysql从服务器后, mysql在docker里一运行起来就闪退, 于是查看日志, 报错信息是mysqld: Error on realpath() on ‘/var/lib/mysql-files’ (Error 2 - No such file or directory)
有两种方法解决此问题
一种是在容器中对应的位置创建此目录
这里我采用第二种:
对/var/lib/mysql-files这个目录在宿主机中也创建一个目录来映射
2 解决
先移除这个容器
sudo docker container rm mysql-slave
新建一个目录用于映射/var/lib/mysql-files
mkdir mysql-files
再重新通过镜像开一个新容器, 这个时候注意要加上-v ~/mysql_slave/mysql-files:/var/lib/mysql-files
sudo docker run --name mysql-slave -e MYSQL_ROOT_PASSWORD=123456 --network=host -v ~/mysql_slave/data:/var/lib/mysql -v ~/mysql_slave/mysql:/etc/mysql/ -v ~/mysql_slave/mysql-files:/var/lib/mysql-files -d mysql:8.0.25
问题解决