MySQLの起動エラーから復旧-文字コードUTF-8の設定調整


昨日の夜中にOSの自動更新で勝手に再起動されてたんやけど、朝一にXAMMPでApacheとMysqlを再起動してプログラムテストしようとしたら動かない(´・ω・) 。

結果的にはあちこちでトラブル起こしてる(笑)UTF8の文字コード設定の方法だったわけですが、また忘れてはいけないのでメモ残しときます。

結論としては、設定ファイル”my.ini”に書き込まれてたmysqldの文字コード設定

[mysqld]
default-character-set=utf8
[mysql] default-character-set=utf8

それぞれを

[mysqld]
character-set-server=utf8
skip-character-set-client-handshake
[mysql]
[mysql]
default-character-set=utf8

ーに変更すれば、無事に再起動できて文字化けもなくなったという顛末です。

先ほどのトラブル、XAMMPをもいちど見てみたら、

サーバーエラ―画面

ーって感じでエラー吐き出して止まってました。

Error: MySQL shutdown unexpectedly.
This may be due to a blocked port, missing dependencies,
improper privileges, a crash, or a shutdown by another method.
Press the Logs button to view error logs and check
the Windows Event Viewer for more clues
If you need more help, copy and post this
entire log window on the forums

xってのがエラーメッセージ。

で、Mysqlのログを見てみたら、

エラーログ画面 って感じで。

[ERROR] C:xamppmysqlbinmysqld.exe: unknown variable 'default-character-set=utf8'

UTF8の文字コードがわからん!って言ってるんですね。
昨日までちゃんと動いてたってことは、いきなり忘れたんかいっ!とツっこみたくなるところですが、早いとこちゃんと動いてもらわないと困るので、ひとまず設定ファイルを再点検することに。

[client] の文字コード設定「default-character-set=utf8」を#でコメントアウトして、[mysqld]のdefault-character-set=utf8も同様に。
で、コントロールパネルからMysqlを再起動すると無事に立ち上がりました。 やったーパチパチ。

ところがブラウザでプログラムテストしてみると日本語は全部「????」みたいな感じで文字化け状態。 そらそうですわな。わざわざ指定してたUTF8のデフォルト設定を外してるんやもん。

ここから数時間設定ファイルをあれこれイジってみたり、WEBで情報を検索しては試してみたりのツボ状態にハマってしまったのでありんす。

しかし!ついに救い主が現れてくださったのです。
こちらのサイト↓がまさにズバリ!の解決策を既に教えてくださってたわけで。もっと早くに辿りつきたかったです。調べ方悪いんかなぁ…(苦笑)

参考サイト:

fedora15 mysql5.5 default-character-setが原因で起動できない

mysql5.5のバージョンから標記が変わったそうですが、何で昨日までちゃんと動いてたのが今日になってエラーになったのかは謎のままです(´・ω・)

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA