[ERROR] COLLATION ‘utf8_unicode_ci‘ is not valid for CHARACTER SET ‘latin1‘

复制代码
[ERROR] COLLATION 'utf8_unicode_ci' is not valid for CHARACTER SET 'latin1'

错误来源是:

跟着b站的谷粒商城项目做,前面的视频中设置了数据库的字符集编码,但是后面自己发现了MySQL容器重启报错,不停的在重启

查看log信息可以使用命令:docker logs 容器id

错误如下:

也就是说,前面我在

设置的如下字符集编码内容是有问题

复制代码
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci' init_connect='SET NAMES utf8' character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve

删除my.cnf文件MySQL容器又可以正常启动

解决方法:

复制代码
vi /mydata/mysql/conf/my.cnf

把my.cnf文件做出如下修改

复制代码
[client]
default_character_set=utf8
[mysql]
default-character-set=utf8
[mysqld]
collation_server = utf8_general_ci
character_set_server = utf8
skip-character-set-client-handshake
skip-name-resolve

重启MySQL容器

复制代码
docker restart mysql

进入容器内部查看

复制代码
docker exec -it mysql /bin/bash

修改字符集编码成功,退出容器重启MySQL也不存在报错

默认MySQL5.7的字符集编码是:

复制代码
show variables like 'character\_set\_%';

注意

docker安装完MySQL并run出容器后,建议请先修改完字符集编码后再新建mysql库-表-插数据

相关推荐
-XWB-10 小时前
【MySQL】XtraBackup 全量备份还原操作指南(MySQL 5.7 / 8.0 通用)
数据库·mysql·adb
进击的小菜鸡dd11 小时前
互联网大厂Java面试:从Spring Boot到微服务架构的场景化技术问答
java·spring boot·redis·ci/cd·微服务·消息队列·mybatis
一念一花一世界11 小时前
企业级CI/CD工具选型:Argo CD vs Tekton vs Arbess
ci/cd·argocd·tekton·arbess
oMcLin12 小时前
如何在 RHEL 8.5 上部署并优化 Jenkins CI/CD 流水线,提升跨平台自动化部署的速度与稳定性?
ci/cd·自动化·jenkins
技术净胜12 小时前
mysqldump 命令备份单库、多库、全库实操指南
数据库·mysql·adb
遇见火星12 小时前
为MySQL配置SSL加密访问
mysql·adb·ssl
weixin_4624462312 小时前
Open-AutoGLM项目实战:在Android设备上实现自动操作与ADB键盘控制
android·adb·计算机外设
alonewolf_991 天前
MySQL 8.0 主从复制原理深度剖析与实战全解(异步、半同步、GTID、MGR)
数据库·mysql·adb
卓码软件测评1 天前
软件首版次认定测试机构:【Apifox与UMI框架结合:实现OpenAPI规范与Mock服务的自动化流水线】
测试工具·ci/cd·性能优化·单元测试·测试用例
鹿角片ljp1 天前
Java深入理解MySQL数据库操作
java·mysql·adb