docker启动mysql 8的版本镜像失败:ERROR: mysqld failed while attempting to check config

docker启动mysql 8的版本镜像失败:ERROR: mysqld failed while attempting to check config

开始学习教程是使用mysql5版本,但是我想使用mysql8,启动失败了。

查资料发现
运行容器时mysql的配置位置错误
mysql5.7的配置在 /etc/mysql
mysql8.0以上的配置位置在 /etc/mysql/conf.d
按mysql版本修改一下配置位置就可以了

具体操作
https://blog.csdn.net/MyNAMS/article/details/121173241

但是:
在这里插入图片描述

启动时发现没有报错

但是查看运行的容器时,并没有mysql
在这里插入图片描述
查看日志分析 docker logs 【容器id】

docker logs 34045ca4d5a4

在这里插入图片描述
错误是由于MySQL配置中字符集(CHARACTER SET)和校对规则(COLLATION)不匹配导致的。错误信息指出,校对规则 utf8_unicode_ci 不适用于字符集 utf8mb4。

这通常发生在配置MySQL服务器时,尤其是在Dockerfile或启动脚本中指定了错误的字符集和校对规则组合。在MySQL中,utf8mb4 字符集是 utf8 的超集,它支持存储4字节的Unicode字符,比如某些表情符号。而 utf8_unicode_ci 是专为 utf8 字符集设计的校对规则。

所以进入my.cnf 文件修改字符集

vim /mydata/mysql/conf/my.cnf

:
再次运行就成功了
在这里插入图片描述

中途遇到提示容器名称已被别的容器占用:
在这里插入图片描述
删除该容器命令:docker rm 【容器id】

docker rm a151e3ab41ed834a8b6f86aafcd3cd1dd82b1c00d68c60934434a655b0dc05d6

其他命令:

docker ps  //列出当前运行的容器
docker ps -a //列出所有容器,包括已停止的
docker logs <container_id> //查看指定容器的日志信息
docker images //查看已下载的镜像列表
docker rmi <name-of-the-image> //删除指定的镜像
docker rm <CONTAINER ID> //根据容器id删除
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值