我正在尝试将服务器的collation_server
变量默认选项从latin1_swedish_ci到utf8_general_ci每次尝试时将其添加到/etc/my.cnf.d/mariadb-server.cnf
不同组下的配置文件中,但就是不起作用。当我尝试重新启动守护进程时,它总是失败,除非我将其注释掉或删除该行。我如何更改此变量,使其在重新启动后也能持久?
我已经在官方参考页面上阅读了如何实现这一点http://dev.mysql.com/doc/refman/5.6/en/server-options.html#option_mysqld_collation-server和http://dev.mysql.com/doc/refman/5.6/en/option-files.html但它们对我没什么帮助。
谢谢。
答案1
我终于解决了这个问题。通过查看日志,我注意到一个错误,说的是,'utf8_general_ci' is not valid for CHARACTER SET 'latin1'
通过谷歌搜索,解决方案是这篇博客,引用:
在这种情况下,mysqld 尝试以 character-set-server = latin1 和 collation-server = utf8_general_ci 启动,但这是无效的。
因此解决方案是设置有效的 latin1 排序规则或更改服务器的字符集,我这样做了:
character-set-server = utf8
collation-server = utf8_general_ci
在我的 cnf 文件中(/etc/my.cnf.d/mariadb-server.cnf)下[server]
。谢谢。