如何将utf-8设置为mysql服务器的标准字符集?

如何将utf-8设置为mysql服务器的标准字符集?,mysql,utf-8,character-encoding,mysql-management,Mysql,Utf 8,Character Encoding,Mysql Management,我必须重新编译它吗 我找到了设置字符集值的不同方法,请参见 但是用其他值或my.cnf设置启动它不会改变任何东西。因为如果我这样做: sudo mysqld--详细--帮助| grep charact 它总是以拉丁语1作为标准字符集回答我。 系统是ubuntu lts服务器,安装了标准mysql。解决方案: 将此添加到my.cnf中: [mysqld] character-set-server=utf8 character-sets-dir=/usr/share/mysql/charsets

我必须重新编译它吗

我找到了设置字符集值的不同方法,请参见

但是用其他值或my.cnf设置启动它不会改变任何东西。因为如果我这样做:

sudo mysqld--详细--帮助| grep charact

它总是以拉丁语1作为标准字符集回答我。 系统是ubuntu lts服务器,安装了标准mysql。

解决方案: 将此添加到my.cnf中:

[mysqld]
character-set-server=utf8
character-sets-dir=/usr/share/mysql/charsets
default-character-set=utf8

[mysql]
character-sets-dir=/usr/share/mysql/charsets default-character-set=utf8

[mysqladmin]
character-sets-dir=/usr/share/mysql/charsets default-character-set=utf8

[mysqlcheck]
character-sets-dir=/usr/share/mysql/charsets default-character-set=utf8

[mysqldump]
character-sets-dir=/usr/share/mysql/charsets default-character-set=utf8

[mysqlimport]
character-sets-dir=/usr/share/mysql/charsets default-character-set=utf8

[mysqlshow]
character-sets-dir=/usr/share/mysql/charsets default-character-set=utf8
#end
更新:现在您可能应该使用utf8mb4。

创建文件/etc/mysql/conf.d/mysqld.cnf,内容如下:

[mysqld]
character-set-server = utf8
collation-server = utf8_unicode_ci
如果省略排序规则服务器,则应将其设置为utf8\u general\u ci


我已经在Ubuntu 15.04上用MySQL 5.6测试了这个配置。

如果您只是想配置服务器,您尝试更改了哪些值。只需创建一个这样的配置文件:/etc/mysql/conf.d/utf8.cnf[mysqld]character set server=utf8 default character set=utf8
default character set=utf8
这会导致服务器无法启动,因为日志上显示的错误。看起来在[mysqld]部分不再允许使用默认字符集
[mysqld]
character-set-server = utf8
collation-server = utf8_unicode_ci