数据库导入时遇到:1273 - Unknown collation: ‘utf8mb4_0900_ai_ci‘

Unknown collation: ‘utf8mb4_0900_ai_ci’

今天导入数据库时遇到了这个问题
数据库导入时遇到:1273 - Unknown collation: ‘utf8mb4_0900_ai_ci‘_第1张图片
经过查询,解决了这个问题

1、问题的原因

其原因就是数据库的字符集和排序规则问题
如图所示,这个数据的语句中有标明其使用的 字符集 和排序规则

-- ----------------------------
-- Table structure for admin_menu
-- ----------------------------
DROP TABLE IF EXISTS `admin_menu`;
CREATE TABLE `admin_menu` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `path` varchar(64) DEFAULT NULL,
  `name` varchar(64) DEFAULT NULL,
  `name_zh` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
  `icon_cls` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
  `component` varchar(64) DEFAULT NULL,
  `parent_id` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

数据库导入时遇到:1273 - Unknown collation: ‘utf8mb4_0900_ai_ci‘_第2张图片
也就是 utf8mb4 和 utf8mb4_0900_ai_ci

而我本地所装的是MySQL 5.7,但是在MySQL5.7中选择字符集为 utf8mb4 时,默认utf8mb4_general_ci 为排序规则 ,并且没有utf8mb4_0900_ai_ci 作为可选择的排序规则

2、解决方式

使用批量替换,将 utf8mb4_0900_ai_ci 替换为 utf8mb4_general_ci 即可成功导入
这里我以VS Code为例进行演示说明

Ctrl + F 打开搜索框,再输入utf8mb4_0900_ai_ci 进行全局检索
数据库导入时遇到:1273 - Unknown collation: ‘utf8mb4_0900_ai_ci‘_第3张图片
然后 按 Ctrl+shift+L ,进行批量修改
数据库导入时遇到:1273 - Unknown collation: ‘utf8mb4_0900_ai_ci‘_第4张图片

数据库导入时遇到:1273 - Unknown collation: ‘utf8mb4_0900_ai_ci‘_第5张图片
即可成功导入
数据库导入时遇到:1273 - Unknown collation: ‘utf8mb4_0900_ai_ci‘_第6张图片

你可能感兴趣的:(Web,数据库,mysql,默认字符集)