最近在使用mysql的過程中,遇到了修改配置文件后啟動(dòng)mysql服務(wù)失敗的情況。
我在配置文件my.cnf中添加了一個(gè)新的配置項(xiàng):
[mysqld] collation-server = utf8mb4_unicode_ci
然后我使用systemctl啟動(dòng)mysql服務(wù),但啟動(dòng)失敗了。我查看了error日志,發(fā)現(xiàn)報(bào)錯(cuò)信息如下:
[ERROR] /usr/sbin/mysqld: unknown variable 'collation-server=utf8mb4_unicode_ci'
這是因?yàn)槲以谂渲梦募刑砑拥男屡渲庙?xiàng)collation-server被mysql服務(wù)識(shí)別為未知變量,導(dǎo)致啟動(dòng)失敗。
為了解決這個(gè)問題,我查看了mysql的官方文檔,發(fā)現(xiàn)collation-server配置項(xiàng)應(yīng)該寫成collation_server,修改配置文件后如下:
[mysqld] collation_server = utf8mb4_unicode_ci
然后重新啟動(dòng)mysql服務(wù),成功了!
這個(gè)問題的原因是由于mysql對(duì)于配置項(xiàng)的命名規(guī)范比較嚴(yán)格,導(dǎo)致我在寫配置項(xiàng)名稱時(shí)沒有注意到這一點(diǎn)。如果大家在使用mysql時(shí)遇到啟動(dòng)失敗的問題,可以查看error日志并分析問題所在,針對(duì)具體問題進(jìn)行調(diào)整。