docker start mysql8后使用docker ps命令查看未显示mysql8运行中
容器已创建但运行不起来
查看日志
docker logs -f 容器id
原因:
mysql8运行会扫描配置的my.cnf文件,由于我在 my.cnf里设置了
[mysqld]
lower_case_table_names = 1
注意: mysql8要求初始化服务和配置文件两者大小写区分设置
必须设置成一样的(1表示不区分大小写,0表示区分大小写)
mysql8初始化默认区分大小写,因此这里与我的my.cnf配置文件有冲突
解决:
-
删除原容器
-
实例化新的容器并指定lower_case_table_names = 1
docker run \ --name mysql8 \ -it -p 3306:3306 \ -v /zzyyuse/mysql8/conf/my.cnf:/etc/mysql/my.cnf \ -v /zzyyuse/mysql8/data:/var/lib/mysql \ -e MYSQL_ROOT_PASSWORD=1234 \ -d mysql:8.0.26 --lower_case_table_names=1
由于这是我在学习docker中产生的错误,就随便删库了,大家务必先备份数据