MySQL を最初にインストールして起動する際に、エラーが発生して MySQL サーバーが起動できない場合があります。この項ではエラーが発生した場合の問題の分析方法およびエラーの修正について説明します。
サーバーのトラブルシューティングに最初に使用するツールはエラーログです。MySQL
サーバーはサーバーが起動しない原因となるエラーに関する情報を記録するエラーログを使用しています。エラーログはお客様が
my.ini
ファイルで指定したデータディレクトリにあります。デフォルトのデータディレクトリの場所は、C:\Program
Files\MySQL\MySQL Server 5.1\data
です。The Error Log
を参照してください。
エラーに関する別の情報源は MySQL サービスが実行された際に表示されるコンソールメッセージです。コマンドラインの NET START MySQL コマンドを mysqld をサービスとしてインストールしたあとに使用してサービスとしての MySQL サーバーの起動に関するエラーメッセージを表示します。項2.3.11. 「Windows のサービスとして MySQL を起動する」 を参照してください。
以下の例は MySQL のインストールおよびサーバーを最初に起動する際に発生する共通の問題のエラーメッセージを示したものです。
MySQL サーバーが
mysql
権限データベースあるいは重要なファイルを見つけられなかった場合、以下のメッセージが表示されます。
System error 1067 has occurred. Fatal error: Can't open privilege tables: Table 'mysql.host' doesn't exist
これらのメッセージは、MySQL
のベースあるいはデータディレクトリがデフォルトの場所
(それぞれ C:\Program
Files\MySQL\MySQL Server 5.1
および C:\Program
Files\MySQL\MySQL Server 5.1\data
)
とは異なる場所にインストールされた場合によく表示されます。
この状況は MySQL がアップグレードされて新しいロケーションにインストールされたが、設定ファイルの新しいロケーション反映のための更新が行われていない場合に発生する場合があります。さらに、新旧の設定ファイルの衝突がエラーの原因になる場合もあります。MySQL をアップグレードする際は必ず旧設定ファイルを削除するか名前を変えでください。
MySQL を C:\Program
Files\MySQL\MySQL Server 5.1
以外のディレクトリにインストールした場合には、設定
(my.ini
)
ファイルを使用して MySQL
サーバーがこれを認識していることを確認する必要があります。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
Windows のパス名は、バックスラッシュではなくスラッシュを使用してオプションファイルで指定されます。バックスラッシュを使用する際は 2 重のバックスラッシュを使用する必要があります。
[mysqld] # set basedir to your installation path basedir=C:\\Program Files\\MySQL\\MySQL Server 5.1 # set datadir to the location of your data directory datadir=D:\\MySQLdata
datadir
の値を MySQL
選定ファイルで変更する際は、MySQL
サーバーを起動する前に既存の MySQL
データディレクトリのコンテンツを移動する必要があります。
項2.3.7. 「オプションファイルの作成」 を参照してください。
MySQL を再インストールあるいはアップグレードする際に、最初に既存の MYSQL のサービスを停止して削除しそれから MySQL を MySQL Configuration Wizard を使用してインストールしなかった場合、このエラーが発生する場合があります。
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
ユーティリティーが利用できない場合は、delsrv
ユーティリティーを
http://www.microsoft.com/windows2000/techinfo/reskit/tools/existing/delsrv-o.asp
からダウンロードして、delsrv
mysql
構文を使用します。