首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法将mysql的字符集从utf8mb4更新为utf8

无法将mysql的字符集从utf8mb4更新为utf8
EN

Stack Overflow用户
提问于 2020-06-14 22:31:40
回答 1查看 267关注 0票数 0

我正在运行mysql Ver 8.0.20。

当前,归类和字符集设置为utf8mb4_0900_ai_ci和

我一直在尝试通过运行这些命令将它们更新到UTF8。但每次我关闭客户端并重新登录时,这些值都恢复为utf8mb4。

代码语言:javascript
运行
复制
SET character_set_client = 'utf8';
SET character_set_connection = 'utf8';
SET character_set_database = 'latin1';
SET character_set_filesystem = 'binary';
SET character_set_results = 'utf8';
SET character_set_server = 'latin1';
SET character_set_system = 'utf8';

set collation_connection = 'utf8_general_ci';
set collation_database = 'latin1_swedish_ci';
set collation_database = 'latin1_swedish_ci'

commit;

ALTER DATABASE sanskvrcpu_db2 CHARACTER SET utf8 COLLATE utf8_general_ci;

这些statmentnts的输出如下所示:

代码语言:javascript
运行
复制
mysql> ALTER DATABASE sanskvrcpu_db2 CHARACTER SET utf8 COLLATE utf8_general_ci;
Query OK, 1 row affected, 2 warnings (0.00 sec)

Warning (Code 3719): 'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous.
Warning (Code 3778): 'utf8_general_ci' is a collation of the deprecated character set UTF8MB3. Please consider using UTF8MB4 with an appropriate collation instead.
EN

回答 1

Stack Overflow用户

发布于 2020-06-15 04:06:25

  1. SET ...适用于当前的“会话”(也称为“连接”)。因此,当您将disconnect.
  2. SET GLOBAL ...应用于全局变量而不是当前会话时,信息会丢失。它仅适用于新连接。但当服务器宕机时,它们就会丢失。执行第3项时,也执行第2项。
  3. 更改配置文件(my.cnf或其他任何文件)将在下次重启后生效。执行项目2时,也执行项目3。
  4. MySQL 8.0具有SET PERSIST,这是一种无需同时执行项目3而通过项目2进行全局设置的方法。Ref: Ref

(您完成了第1项。)

例外:某些设置既是'session‘又是'global';因此没有完全遵循上面的限制。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62373919

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档