Mysql更改列排序规则和信息模式的字符集

MyS*_*DBA 15 mysql database system collation

我想更改系统数据库information_schema的列排序规则和字符集...

任何人都可以提供有关如何执行此操作的任何输入 我需要特殊的特权吗?

Hai*_*vgi 19

要更改现有表中所有列的字符集和排序规则,请使用:

ALTER TABLE tbl_name CONVERT TO CHARACTER SET charset_name [COLLATE collation_name];
Run Code Online (Sandbox Code Playgroud)


Chr*_*est 11

据我所知,你无法ALTER TABLE在表中运行命令information_schema.相反,你可能想看看character_set_*变量.您可以使用命令查看哪些变量设置为MySQL服务器中的哪些值show variables:

show variables like "character_set_%";
Run Code Online (Sandbox Code Playgroud)

与MySQL中的元数据information_schema有关的character_set_system变量(例如表)是变量.我认为这my.cnf是设置它的正确位置.

此页面上有更多信息:元数据的UTF-8.

对于普通表,可以使用以下ALTER TABLE命令更改表的字符集:

alter table some_table convert to character set utf8;
Run Code Online (Sandbox Code Playgroud)

为此,您需要"更改"权限.

您可以通过show privileges命令查看MySQL服务器支持的权限,您可以通过命令查看当前用户授予的权限show grants.