MySQL を最初にインストールして起動する際に、エラーが発生して MySQL サーバが起動できない場合があります。この項ではエラーが発生した場合の問題の分析方法およびエラーの修正について説明します。
サーバのトラブルシューティングに最初に使用するツールはエラーログです。MySQL
サーバはサーバが起動しない原因となるエラーに関する情報を記録するエラーログを使用しています。エラーログはお客様が
my.ini
ファイルで指定したデータ
ディレクトリにあります。デフォルトのデータ
ディレクトリは C:\Program Files\MySQL\MySQL
Server 5.1\data
にあります。項4.11.2. 「エラー ログ」 参照。
エラーに関する別の情報源は 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
あるいは
C:\WINNT
に配置される必要があります。コマンドプロンプトから以下のコマンドを発行して
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 の の設定ウイザードを使用してインストールしなかった場合、このエラーが発生する場合があります。
Error: Cannot create Windows service for MySql. Error: 0
これは設定ウイザードがサービスをインストールしようとした時に既存のサービスが同じ名前で存在する場合に発生します。
この問題の解決法の一つは設定ウイザードを使用する際
mysql
以外のサービス名を選択することです。これにより新しいサービスが正しくインストールされ、古いサービスはそのまま残ります。新旧のサービスが存在することは特に問題はありませんが、使用しない古いサービスは削除したほうが良いでしょう。
古い mysql
サービスを永久に削除するには、コマンドラインで以下のコマンドを管理権限のあるユーザーとして実行します。
C:\> sc delete mysql
[SC] DeleteService SUCCESS
sc
ユーティリティが お客様の
Windows
のバージョンで利用できない場合、delsrv
ユーティリティを
http://www.microsoft.com/windows2000/techinfo/reskit/tools/existing/delsrv-o.asp
からダウンロードし、delsrv
mysql
構文を使用します。