MySQL をインストールして最初に起動する際に、エラーが発生して MySQL サーバーが起動できない場合があります。 このセクションは、エラーの診断と修正に役立ちます。
サーバーの問題のトラブルシューティングを行う際の、最初のリソースは エラーログです。 MySQL Server は、サーバーが起動しない原因となるエラーに関する情報を記録するのにエラーログを使用しています。 エラーログは、my.ini
ファイルで指定された データディレクトリにあります。 データディレクトリのデフォルトの場所は、Windows 7 および Windows Server 2008 では C:\Program Files\MySQL\MySQL Server 8.0\data
、または C:\ProgramData\Mysql
です。 C:\ProgramData
ディレクトリはデフォルトでは非表示です。 ディレクトリと内容を表示するには、フォルダオプションを変更する必要があります。 エラーログとその内容の理解については、セクション5.4.2「エラーログ」 を参照してください。
起こりうるエラーについては、MySQL サービスの起動中に表示されるコンソールメッセージも調べてください。 mysqld をサービスとしてインストールした後、コマンドラインから SC START mysqld_service_name
または NET START mysqld_service_name
コマンドを使用して、MySQL サーバーのサービスとしての起動に関するエラーメッセージを表示します。 セクション2.3.4.8「Windows のサービスとして MySQL を起動する」を参照してください。
MySQL をインストールしてサーバーを最初に起動する際によく生じる、その他の一般的なエラーメッセージを次の例に示します。
-
MySQL Server が
mysql
権限データベースまたはその他の重要なファイルを見つけられない場合、次のメッセージを表示します。System error 1067 has occurred. Fatal error: Can't open and lock privilege tables: Table 'mysql.user' doesn't exist
これらのメッセージは、MySQL のベースディレクトリまたはデータディレクトリが、デフォルトの場所 (それぞれ
C:\Program Files\MySQL\MySQL Server 8.0
およびC:\Program Files\MySQL\MySQL Server 8.0\data
) と異なる場所にインストールされている場合によく生じます。この状況は、MySQL をアップグレードして新しい場所にインストールしたが、構成ファイルが新しい場所を反映するように更新されていない場合に生じます。 さらに、新旧の構成ファイルが対立している場合もあります。 MySQL をアップグレードする際は必ず旧構成ファイルを削除するか名前を変更してください。
MySQL を
C:\Program Files\MySQL\MySQL Server 8.0
以外のディレクトリにインストールした場合は、構成 (my.ini
) ファイルを使用して MySQL Server がそのことを認識できるようにしてください。my.ini
ファイルを Windows ディレクトリ (通常C:\WINDOWS
) に置きます。WINDIR
環境変数の値から正確な場所を割り出すためには、コマンドプロンプトから次のコマンドを発行します。C:\> echo %WINDIR%
オプションファイルはノートパッドなどのテキストエディタで作成および変更できます。 たとえば、MySQL が
E:\mysql
にインストールされていて、データディレクトリがD:\MySQLdata
にある場合は、オプションファイルを作成して[mysqld]
セクションを設定し、basedir
およびdatadir
オプションの値を指定できます。[mysqld] # set basedir to your installation path basedir=E:/mysql # set datadir to the location of your data directory datadir=D:/MySQLdata
Microsoft Windows のパス名は、オプションファイル内でバックスラッシュではなく (フォワード) スラッシュを使用して指定されます。 バックスラッシュを使用する場合は、2 つ使用します。
[mysqld] # set basedir to your installation path basedir=C:\\Program Files\\MySQL\\MySQL Server 8.0 # set datadir to the location of your data directory datadir=D:\\MySQLdata
オプションファイル値でのバックスラッシュの使用に関するルールは セクション4.2.2.2「オプションファイルの使用」 にあります。
MySQL 構成ファイルの
datadir
の値を変更する場合は、MySQL Server を再起動する前に既存の MySQL データディレクトリの内容を移動する必要があります。セクション2.3.4.2「オプションファイルの作成」 を参照してください。
-
まず既存の MySQL サービスを停止して削除してから MySQL Installer を使用して MySQL をインストールせずに、MySQL を再インストールまたはアップグレードすると、次のエラーが生じる場合があります。
Error: Cannot create Windows service for MySql. Error: 0
これは Configuration Wizard がサービスをインストールしようとしたときに既存のサービスが同じ名前で存在する場合に発生します。
この問題の解決方法の 1 つは、Configuration Wizard を使用する際に
mysql
以外のサービス名を選択することです。 これにより、新しいサービスが正しくインストールされ、古いサービスはそのままにできます。 これは特に問題はありませんが、使用しない古いサービスは削除したほうがよいでしょう。古い
mysql
サービスを完全に削除するには、管理者権限を持つユーザーとして、コマンド行で次のコマンドを実行します。C:\> SC DELETE mysql [SC] DeleteService SUCCESS
ご使用のバージョンの Windows で
SC
ユーティリティを使用できない場合は、http://www.microsoft.com/windows2000/techinfo/reskit/tools/existing/delsrv-o.asp からdelsrv
ユーティリティをダウンロードし、delsrv mysql
構文を使用します。