MySQL:如何更新 performance_schema.session_variables?

问题描述 投票:0回答:1
MySQL 8.0
phpMyAdmin

我在MySQL中有以下Session变量(在

peformance_schema.session_variables
中找到):

collation_connection utf8mb4_0900_ai_ci
collation_database utf8mb3_general_ci
collation_server utf8mb4_0900_ai_ci

这些与我的 Global 变量 (

performance_schema.global_variables
) 不同,我可以编辑它。

当我尝试更新

collation_database
变量时,出现错误:

UPDATE session_variables set collation_database = 'utf8mb4_0900_ai_ci'

//#1142 - UPDATE command denied to user 'root'@'localhost' for table 'session_variables'

令我惊讶的是,即使是 root 用户也没有权限更新它。我尝试重新启动 MySQL,认为会话被清除,然后简单地复制下一个会话的全局变量,但这也不起作用。如何更新这些会话变量?

也许这是 phpMyAdmin 特有的问题?我不知道。我的目标是将 MySQL 中的所有内容设置为 utf8mb4 字符集和 utf8mb4_0900_ai_ci 排序规则,正如 MySQL 8.0 所推荐的那样。

我也尝试了以下,但它没有做任何事情:

SET SESSION collation_database = 'utf8mb4_0900_ai_ci'

查询被执行,但没有任何反应,变量仍然是

utf8mb3_general_ci
。就好像 MySQL 忽略了查询。

mysql phpmyadmin
1个回答
0
投票

set session collation_database = 'utf8mb4_0900_ai_ci';请注意,某些参数不能在会话级别更改。使用 set session/global 或修改参数文件。

© www.soinside.com 2019 - 2024. All rights reserved.