如何设置默认字符集?

kai*_* ho 12 mysql

我想在mysql中创建一个新的db.我将utf8设置为默认字符集,但是当我尝试重新启动数据库时,mysql无法重新启动并发布以下提示:

试图启动服务器...无法重新连接到MySQL服务器.服务器无法启动.

插件'FEDERATED'已停用.

C:\ Program Files\MySQL\MySQL Server 5.5\bin\mysqld:未知变量'default-character-set = utf8'

中止

C:\ Program Files\MySQL\MySQL Server 5.5\bin\mysqld:关闭完成

我知道在取消默认字符集后,mysql会重启.但是如果我必须设置默认字符集,还有其他方法可以让mysql再次运行吗?

rob*_*ess 26

我遇到了类似的问题.正如EO2所指出的那样,答案是默认字符集在5.5中已弃用.您应该使用:

character-set-server = utf8
Run Code Online (Sandbox Code Playgroud)

顺便说一句,如果答案作为答案回答,而不是评论,那就更好了;;-)


小智 7

我在运行 mysqlslap 时遇到了类似的问题,出现以下错误:

mysqlslap unknown variable 'default-character-set=utf8mb4'
Run Code Online (Sandbox Code Playgroud)

经过大量调查后,我发现它default-character-set是在另一个文件中设置的,而不是在我更改的所有配置文件中设置的。

该选项已设置/etc/mysql/mariadb.conf.d/50-client.cnf,所以我只是评论了这一行default-character-set = utf8mb4,一切都很顺利。

我在 Debian 9 上运行 MySQL,以防有人遇到同样的问题。