MySQLのタイムゾーン設定をすると、XAMPPでMySQLが起動できなる原因と対処法です。
原因
原因は、MySQL(MariaDB)は最初から日本語設定が入ってないためです。
default-time-zone = “Asia/Tokyo” とする場合、タイムゾーンを追加する必要があります。
XAMPP起動時に表示されるエラーメッセージ
14:52:18 [mysql] Error: MySQL shutdown unexpectedly.
14:52:18 [mysql] This may be due to a blocked port, missing dependencies,
14:52:18 [mysql] improper privileges, a crash, or a shutdown by another method.
14:52:18 [mysql] Press the Logs button to view error logs and check
14:52:18 [mysql] the Windows Event Viewer for more clues
14:52:18 [mysql] If you need more help, copy and post this
14:52:18 [mysql] entire log window on the forums
対処方法
timezonesをダウンロード
以下からタイムゾーンの設定用SQLをダウンロードします。
URL:https://dev.mysql.com/downloads/timezones.html
ダウンロードファイル:timezone_yyyyb_posix_sql.zip
(yyyyは西暦。最新のものでよいと思います)
編集
ダウンロードしたSQLファイルの先頭に、use mysql;
を追記します。
(追記する理由)
ダウンロードしたSQLは、mysqlスキーマに対して実行するSQLになっていますが、
use mysql;
が指定されていないため、そのまま実行するとエラーになります。
また、一度実行してエラーになるとphpMyAdminが使用できなくなるため、回避策として明記します。
設定
設定はSQLを実行することで行います。
方法としては、コマンドラインとからのどちらでもOKです。
①コマンドライン
1 2 3 4 5 |
// MySQLサーバへrootでログイン mysql -u root // sourceコマンドで実行ファイルを指定 source C:\[SQLが保存されているファイルのパス]\timezone_posix.sql |
②phpMyAdmin
XAMPPのApacheとMySQLを起動し、MySQLの管理をクリックし、phpMyAdminを表示させます。
SQLタブをクリックし、実行するSQLをコピペして、実行をクリックします。
確認
mysqldディレクティブに、default-time-zone設定を追記し、MySQLが起動できればOKです。
[mysqld]
default-time-zone = "Asia/Tokyo"
コメント