我想在mysql中创建一个新的数据库。 我将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:Shutdown complete
我知道在取消默认字符集后,mysql会重启。但是如果我有来设置默认字符集,还有其他方法可以让mysql再次运行吗?
答案 0 :(得分:23)
我有类似的问题。正如EO2所指出的那样,答案是默认字符集在5.5中已弃用。您应该使用:
character-set-server = utf8
顺便说一下,如果答案作为答案回答,而不是评论......,那就更好了; - )
答案 1 :(得分:0)
运行mysqlslap时遇到类似的问题,出现以下错误:
output = "ab"
经过大量调查,我发现mysqlslap unknown variable 'default-character-set=utf8mb4'
被设置在另一个文件中,而不是我更改的所有配置文件。
该选项已在default-character-set
中设置,因此我只注释了/etc/mysql/mariadb.conf.d/50-client.cnf
这一行,一切顺利。
我在Debian 9上运行了MySQL,以防万一有人遇到相同的问题。
答案 2 :(得分:0)
今天有相同的问题,但版本为5.7.31。对我来说,这行确实有用,但是..如何在配置文件中设置字符集呢?
有一个回复:https://dev.mysql.com/doc/refman/5.7/en/charset-applications.html
因此,要在服务器启动时指定字符设置,我们可以例如将这些行添加到两个文件中(对我来说是: 50-client.cnf 和 50-mysql-clients。 cnf -都在 /etc/mysql/mariadb.conf.d/目录中):
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
请记住“ mysqld ”部分,这一点很重要,因为在“客户端”部分中这将无效。