[事象]
my.ini で utf8 設定にしてサービス起動させようとすると、ずっと起動中ステータスのままで起動できない状態が発生します。
[背景]
MySQLの文字コードについて、character_set_database及びcharacter_set_serverはutf8ではない場合は、日本語でデータを保存する時に文字化けが発生するため、文字コードの変更が必要になります。
文字コード変更後、MySQL再起動できないバージョンがあります。
[事象の詳細]
1. 文字コード変更を行います。
2. MySQL再起動して、一部バージョンのMySQLは起動失敗、エラーポップアップを表示します
[回避策]
方法1: my.iniファイルの文字コードをANSIへ変更します
- ① 管理者レベルのcmd(コマンドプロンプト)でMySQL57サービスのpidをコマンド「sc queryex MySQL57」で確認ます
- ②上記のcmdのまま、taskkill /pid [pid] /fでサービスを強制終了ます
- ③ my.iniファイルの文字コードを「名前付けで保存」でANSIに変更て、上書き保存します
- ④ MySQL57サービスを起動します
※これはMySQLの固有の不具合であり、以下のURLでご参照ださい。
https://bugs.mysql.com/bug.php?id=95293
方法2: 文字コードをUTF8に変更する必要ないMySQLバージョン(MySQL8.0.29)を推奨します。
※MySQLバージョン5.7.33.0、5.7.34.0はインストール時、失敗のケースはあるので、この二つの
バージョンを使わないでください。
[補足]
MySQLバージョン入れ替え時、旧バージョンを完全にアンインストールする方法を簡単紹介します。
また、MySQLは弊社の製品ではないため、アンインストール方法も複数方法があり、予想外の問題がありましたら、MySQL のサポート窓口へお問い合わせください。
(1) MySQLサービス停止
サービス一覧に「MySQL57」を右クリックして、「停止」をクリックします。
(2) MySQLサービス削除
cmd(コマンドプロンプト)を管理者権限で起動して、cdコマンドを使って、MySQLフォルダ内のbinフォルダに移動します。
「mysqld --remove MySQL57」を入力して、エンターキーを押します。
“Service successfully removed.”と表示されれば、MySQLサービスは正常に削除されます。
最後、cmdウィンドウを閉じます。
(3) MySQLのアンインストール
プログラムの追加と削除 を使って、「MySQL Installer-Community」と「MyQL Server5.7」を削除します。
(4) MySQL のフォルダ削除
C:\Program Files\中のMySQLフォルダ(残る場合)を削除します
C:\ProgramData\中のMySQLを削除します
[テストした環境]
Windows Server 2016、Windows Server 2012 R2
[事象が発生するバージョン]
5.7.26, 5.7.27, 5.7.28, 5.7.35, 5.7.36, 5.7.37
[推奨しないバージョン]
5.7.33.0、5.7.34.0
[UTF8設定の不要バージョン]
8.0.29 (BizRoboのバージョンはご注意ください)
※BizRobo! をセットアップする前のデータベースをセットアップする段階での MySQL の問題となりますので、本問題の調査が必要な場合には、MySQL のサポート窓口へお問い合わせください。