我想更改系统数据库 information_schema 的列排序规则和字符集...
任何人都可以就如何做到这一点提供任何意见吗?我需要什么特殊的特权吗
要更改现有表中所有列的字符集和排序规则,请使用:
ALTER TABLE tbl_name CONVERT TO CHARACTER SET charset_name [COLLATE collation_name];
据我所知,您不能ALTER TABLE在information_schema. 相反,您可能想看看character_set_*变量。show variables您可以使用以下命令查看 MySQL 服务器中哪些变量设置为哪些值:
show variables like "character_set_%";
与 MySQL 中的元数据(例如information_schema表)有关的变量是character_set_system变量。我认为这my.cnf是设置它的正确位置。
此页面上有更多信息:UTF-8 for Metadata。
ALTER TABLE对于普通的表,你可以通过一个命令来改变一个表的字符集:
alter table some_table convert to character set utf8;
为此,您将需要“更改”权限。
您可以通过命令查看 MySQL 服务器支持哪些权限show privileges,并且可以通过命令查看当前用户授予了哪些权限show grants。
alter table some_table convert to character set utf8;
棒极了,据我所知,这对我来说效果很好,现在我可以在那张桌子上使用中文了!!我可以删除整个网站的所有 utf8_encode() utf8_decode() !