ログログ

雑学エンジニアが学んだことの記録

プログラミング MySQL

MySQL-タイムゾーン設定すると起動しなくなる原因と対処方法

投稿日:

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です。

①コマンドライン

②phpMyAdmin
XAMPPのApacheとMySQLを起動し、MySQLの管理をクリックし、phpMyAdminを表示させます。

SQLタブをクリックし、実行するSQLをコピペして、実行をクリックします。

 

確認

mysqldディレクティブに、default-time-zone設定を追記し、MySQLが起動できればOKです。

[mysqld]
default-time-zone = "Asia/Tokyo"

-プログラミング, MySQL
-,

執筆者:


comment

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

CAPTCHA


関連記事

no image

画面にonclickを書かずにイベントを発生させる方法

画面にonclickを記述すると、JavaScript側で関数名が変更になった際の修正が面倒になる。 なのでonclickを記述せずにイベントを発生させるように記述することが望ましいと子ドレビューで指 …

no image

XSS対策の基本は入力値制限とサニタイジング(無害化)の2つ

XSS(クロスサイトスクリプティング)の基本的な対策は何をすればいいのかがぼんやりしている方向けの書いています。 対策方法はタイトルの通り、XSS(クロスサイトスクリプティング)対策の基本は入力値制限 …

【Java】文字列の完全一致と部分一致を判定する方法

Javaで文字列の完全一致と部分一致を判定してBooleanを受け取る方法です。 一致させる条件は、文字列固定の場合と正規表現の場合を掲載しています。 目次 コード説明 コード [crayon-5d7 …

Laravelのヘルパー関数とは?

Laravel includes a variety of global “helper” PHP functions. Many of these functions are …

【Laravel】SQLの確認はenableQueryLogを使う

SQLのデバッグのために、SQLとバインドされた値を確認したいことがあります。 その時に使える方法として、よく提示されるのは以下の2つです。 1.enableQueryLogメソッドとgetQuery …