Docker启动MySQL报错: docker Supplied value : /var/lib/mysql-files

这个问题是在启动容器尝试对容器挂载数据卷的时候出现的, 不挂载数据卷不会有这个问题。

我的数据卷挂载参数如下, 其中报错就是因为缺少第二行, 对my.cnf文件也挂载。

-v /usr/local/docker/mysql/conf:/etc/mysql \
-v /usr/local/docker/mysql/my.cnf:/etc/mysql/my.cnf \
-v /usr/local/docker/mysql/logs:/var/log/mysql \
-v /usr/local/docker/mysql/data:/var/lib/mysql \

 

启动容器之前, 先去宿主机创建这个my.cnf, 

输入命令vi /usr/local/docker/mysql/my.cnf, 加入内容:

[mysqld]
user=mysql
character-set-server=utf8
default_authentication_plugin=mysql_native_password
secure_file_priv=/var/lib/mysql
expire_logs_days=7
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
max_connections=1000

[client]
default-character-set=utf8

[mysql]
default-character-set=utf8

保存退出之后, 就可以用如下命令启动了:

docker run -d --privileged=true \
-v /usr/local/docker/mysql/conf:/etc/mysql \
-v /usr/local/docker/mysql/logs:/var/log/mysql \
-v /usr/local/docker/mysql/data:/var/lib/mysql \
-v /usr/local/docker/mysql/my.cnf:/etc/mysql/my.cnf \
-p 33060:3306 --name=mysql -e MYSQL_ROOT_PASSWORD=123456 \
<镜像id>

 

上一篇:mysql 8.0+忘记root密码-linux


下一篇:centos安装数据库