[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库-表-插数据

相关推荐
牛奶咖啡136 小时前
CI/CD——在jenkins中构建流程实现springboot项目的自动化构建与部署
java·ci/cd·k8s·jenkins·springboot·springboot制作镜像·使用源码项目制作镜像
黄俊懿1 天前
复合索引设计指南:最左前缀 & 字段排座次
数据库·sql·mysql·adb·性能优化·dba·db
牛奶咖啡131 天前
CI/CD——在jenkins中使用pipeline方式自动化构建java项目jpress
ci/cd·自动化·jenkins·pipeline是什么·pipeline有啥用·pipeline适用场景·pipeline使用示例
aaa最北边1 天前
MySQL-锁
数据库·mysql·adb
fTiN CAPA2 天前
Linux系统离线部署MySQL详细教程(带每步骤图文教程)
linux·mysql·adb
hjc_0420432 天前
xtrabackup来备份恢复数据
运维·adb
Cory.眼2 天前
AI写CI/CD脚本:Gemini实战指南
ci/cd
小江的记录本2 天前
【MySQL】《MySQL基础架构 面试核心考点问答清单》
前端·数据库·后端·sql·mysql·adb·面试
秋92 天前
java中对操作mysql8.0.46与MySQL9.7.0有什么区别,并举例说明
android·java·adb
牛奶咖啡132 天前
CI/CD——在jenkins中自动化构建与部署java项目jpress的镜像且搭建一键部署gitlab与jenkins环境
ci/cd·jenkins·一键部署gitlab私有仓库·安装部署jenkins·blue ocean构建镜像·jenkins部署镜像·jenkins自动构建部署镜像