首页 > 数据库 >mysql5.7迁移到8,如何解决问题 Illegal mix of collations (utf8mb4 general ci,IMPLICIT) and (utf8mb4 0900 ai ci,

mysql5.7迁移到8,如何解决问题 Illegal mix of collations (utf8mb4 general ci,IMPLICIT) and (utf8mb4 0900 ai ci,

时间:2024-04-09 18:11:39浏览次数:24  
标签:ci utf8mb4 字符集 0900 MySQL test IMPLICIT

SHOW VARIABLES LIKE '%character%'; 
SHOW VARIABLES LIKE 'collation%';
show variables where Variable_name like 'collation%';
show variables where Variable_name LIKE 'collation%' or Variable_name LIKE 'character_set_server%';


SHOW CREATE DATABASE db_test;
show full columns from `db_test`.`tb_test`;
show create TABLE `db_test`.`tb_test`;

ALTER DATABASE db_test CONVERT TO CHARACTER SET UTF8MB4 COLLATE utf8mb4_0900_ai_ci;
ALTER TABLE `db_test`.tb_test CONVERT TO CHARACTER SET UTF8MB4 COLLATE utf8mb4_0900_ai_ci;

总结一句话:utf8mb4结合utf8mb4_0900_ai_ci一起使用,就不会报这个异常了。

 

在 Linux 上为 MySQL 8 设置默认字符集和排序规则通常涉及几个步骤。以下是如何设置默认字符集和排序规则的详细步骤:

1. 修改 MySQL 配置文件
首先,你需要编辑 MySQL 的配置文件 my.cnf 或 my.ini(取决于你的 Linux 发行版)。这个文件通常位于 /etc/mysql/、/etc/my.cnf 或 /usr/etc/my.cnf。

使用文本编辑器(如 vi 或 nano)打开配置文件,并添加或修改以下设置:
[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_0900_ai_ci

[client]
default-character-set=utf8mb4

[mysql]
default-character-set=utf8mb4

这里设置了服务器默认的字符集为 utf8mb4,排序规则为 utf8mb4_0900_ai_ci。同时,为客户端和 MySQL 命令行工具也设置了默认字符集。
2. 重启 MySQL 服务
保存并关闭配置文件后,你需要重启 MySQL 服务以使更改生效。使用以下命令重启 MySQL 服务:
sudo service mysql restart
sudo systemctl restart mysql

3. 检查默认字符集和排序规则
登录到 MySQL 并检查默认字符集和排序规则是否已更改:
mysql -u root -p

SHOW VARIABLES LIKE 'character_set_server';
SHOW VARIABLES LIKE 'collation_server';

4. 为新数据库和表设置字符集和排序规则
当你创建新的数据库或表时,可以指定字符集和排序规则,以确保它们符合你的默认设置。但如果你忘记指定,它们将使用你在配置文件中设置的默认值。

标签:ci,utf8mb4,字符集,0900,MySQL,test,IMPLICIT
From: https://www.cnblogs.com/OnlyDreams/p/18124496

相关文章

  • Vue中component lists rendered with v-for should have explicit keys异常
    在Vue.js中,当你在组件列表中使用v-for指令渲染多个组件时,每个组件元素都应当有一个明确的key属性。Vue.js引擎通过这个key来优化虚拟DOM的diff过程,提升页面更新效率,并确保状态保持一致。例如,如果你有这样的代码:Vue<ul><liv-for="iteminitems">{{......
  • CF455C. Civilization-并查集
    2100分的并查集(x)link:https://codeforces.com/contest/455/problem/C给一张无向森林,有若干次操作,有两种:询问\(x\)所在树的直径合并\(x,y\)所在的连通块,使得合并后的直径最小\(n,m,q\leq3\times10^5\)处理出每个连通块的直径,考虑如何合并两个连通块?设原来的直径分别......
  • 蓝桥杯备考随手记: BigInteger 和 BigDecimal
    在Java中,BigInteger和BigDecimal是用来处理大整数和高精度浮点数的类,分别属于java.math包。下面分别介绍这两个类的特点、用途和常用方法:BigInteger:特点:BigInteger类表示任意精度的整数,可以处理比long型和int型更大范围的整数。BigInteger是不可变的(immutable)类,一......
  • SciTech-EE-Mobile-OTG: 切换Host与Device角色由手机USB接口取电为外部设备供电的方法
    SciTech-EE-Mobile-OTG:由手机USB接口取电为外部设备供电的方法OTG接口与转换器OTG是"OnTheGo"的英文缩写,字面上可以理解为“安上即可用”。USB传输是Host-Device的主从结构,一切USB传输都有Host发起:比如:在开发板上插入U盘,这时开发板作为USBHost;但开发板插在PC上,开发板......
  • 批量转换pcd数据的编码形式:Binary转ASCII
    本文为CSDN晚意丶3D原创,转载请表明原文出处———————————————————————————————————————批量转换pcd数据的编码形式:Binary转ASCII代码结果相关内容pcd点云格式的编码有两种,分别是Binary和ASCIIBinary是二进制格式,用文......
  • DISM(Deployment Image Servicing and Management)工具可以用于修复损坏的 Windows 映像
    DISM(DeploymentImageServicingandManagement)工具可以用于修复损坏的Windows映像文件(通常是WIM或VHD文件),以及损坏的系统文件。DISM工具通常用于修复Windows安装映像或运行中的操作系统。您可以使用DISM工具来扫描和修复损坏的系统文件,方法如下:打开命令提示符:......
  • Datacom HCIP笔记-MPLS协议 之一
    MPLS标签放在二层头和IP头之间可以称之为2.5层的位置LSP(LabelSwitchedPath):标签交换路径,艮即到达同一目的地址的报文在MPLS网络中经过的路径。FEC(ForwardingEquivalentClass):一般指具有相同转发处理方式的报文。在MPLS网络中,到达同一目的地址的所有报文就是一个FEC。......
  • [BUUCTF]ciscn_2019_c_1
     0.环境Ubantu-22.04.41.查看文件格式终端中输入命令checksec--file='filename'    #filename为下载文件的自定义名称输出结果为没开canary保护,开了NX终端中输入命令file'filename' 输出为64位,放到ida64里反编译2.IDA分析程序 1.main函数 ......
  • NCI SEER breast cancer美国国立癌症研究所数据库乳腺癌生存分析和乳腺癌预测模型(202
    ​作者Toby,来源公众号:python生物信息学,美国国立癌症研究所数据库乳腺癌生存分析和乳腺癌预测模型NCI美国国立癌症研究所(NationalCancerInstitute,NCI)美国国立癌症研究所(NCI)是美国国家卫生研究院(NIH)的一个组成部分,致力于癌症研究和预防。以下是NCI的一些重要信息和职责:......
  • The 16th Zhejiang Provincial (小白 重现之我是Joker)
    G-Lucky7inthePocket(签到题)思路:大于等于n,且被7整除,不能被4整除,算出这个数。Code:#include<bits/stdc++.h>usingnamespacestd;voidsolve(){intn;cin>>n;for(;n;){if(n%7==0&&n%4!=0){cout......