views:

2261

answers:

2

i want to change column collation and character set of system database information_schema... can anyone give any input on how to do this? is there any special priviledges i need for this

+2  A: 

To change the character set (and collation) for all columns in an existing table, use... ALTER TABLE tbl_name CONVERT TO CHARACTER SET charset_name [COLLATE collation_name];

Haim Evgi
what priviledges do i need to to alter system database any idea
MySQL DBA
A: 

As far as I know, you cannot run ALTER TABLE commands on the tables in information_schema. Instead you will probably want to take a look at the character_set_* variabes. You can see which variables are set to which values in your MySQL server with a show variables command:

show variables like "character_set_%";

The variable that has to do with meta data in MySQL, such as the information_schema tables, is the character_set_system variable. I think the my.cnf is the right place to set it.

There's more information on this page: UTF-8 for Metadata.

For ordinary tables, you change the character set of a table with an ALTER TABLE command:

alter table some_table convert to character set utf8;

To do this, you will need the "alter" privilege.

You can see which privileges your MySQL server supports with a show privileges command, and you can see which privileges are granted to your current user with a show grants command.

Christian Vest Hansen