
mySQLが起動しなくて困っています。環境はwindows7です。
以下にエラーまでの手順を書かせていただきます。
(1)コマンドラインでmysqldを実行する
(2)ログファイルにエラーをはいて終了する。
以下にエラーログを貼り付けさせていただきます。また簡単なコメントも付加させていただきます。
120123 9:22:02 [Note] Plugin 'FEDERATED' is disabled.
MySQL: Table 'mysql.plugin' doesn't exist ・・・(1)
120123 9:22:02 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
・・・(2)
120123 9:22:02 InnoDB: The InnoDB memory heap is disabled
120123 9:22:02 InnoDB: Mutexes and rw_locks use Windows interlocked functions
120123 9:22:02 InnoDB: Compressed tables use zlib 1.2.3
120123 9:22:02 InnoDB: Initializing buffer pool, size = 128.0M
120123 9:22:02 InnoDB: Completed initialization of buffer pool
120123 9:22:02 InnoDB: highest supported file format is Barracuda.
120123 9:22:02 InnoDB: Waiting for the background threads to start
120123 9:22:03 InnoDB: 1.1.8 started; log sequence number 1647042
120123 9:22:03 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist
(1)これはデフォルトで出るものらしいので問題ないと思います
(2)ここが主な原因だと思われます。また、ここに書かれているmysql_upgradeを実行するためにはmySQLを起動させなければいけないため、実質実行不可能です。
以上です。何かお気づきの点がありましたら助言いただけると幸いです。
No.4
- 回答日時:
こんばんは。
>まずこの点なのですが、私の環境はWindowsなのでこれはないんじゃないかと推測しております。
そうね・・・、ないです。
>こちらも実は探したのですが、見つかりませんでした。
いや、これは見つけてもらわないと話が進みません・・・。
my.iniならそのままですが、my.cnfならmyだけになってます。
これは死ぬ気で見つけてください・・・笑。
ここにデータフォルダのパスが設定されてるので、間違っていたら修正してください。
もしも間違っていないのなら、設定ファイルをちゃんと読めてないのかも知れません。
その場合、起動スクリプトのオプションで、
--defaults-file="設定ファイルのパス"
を指定すれば、うまくいくかも知れません・・・。
>なぜこれが原因だとわかったのですか?
だって、MySQLが言ってます。
テーブルが開けないから作れ・・・と。
そんなテーブルねぇよ!!・・・と。
この回答への補足
なんどもお返事ありがとうございます。
色々検索した結果、
mysqlのフォルダ以下にこのようなファイルを発見しました。
my-large.ini
my-small.ini
my-medium.ini
my-innodb-heavy-4G.ini
my-huge.ini
そしてこのファイルの中身を見たところ、どうも設定ファイルぽいです。
ただ問題はどのファイルを読んでいるかわからないことです。そこで設定ファイルを読み込んでいる場所をさがすために、mysqlコマンドにオブションでhelpをつけました。
その結果、以下のようなメッセージを発見しました(ちょっときれてますが。。。)
Default options are read from the following files in the given order:
C:\Windows\my.ini C:\Windows\my.cnf C:\my.ini C:\my.c
y\mySQL\my.ini C:\software\study\mySQL\my.cnf
おそらくここに書かれている場所から設定ファイルを読み込もうとしているでしょう。しかしmy.iniやmy.cnfというファイルはドライブ全体に検索をかけてもヒットしませんでした。
そこで自分でmySQLフォルダ以下にmy.cnfというファイルを作成して、内容は
my-medium.iniに書かれていた内容をコピペしました。
そしてそこに対して
datadir=C:/software/study/mySQL/data
という行を追加することによって(デフォルトではそれらしい設定は書かれていませんでした)、dataフォルダのありかを指定するようにしました。
が結果は残念ながら、変わりませんでした。
そこで
<<起動スクリプトのオプションで、--defaults-file="設定ファイルのパス"
をやったところ以下のメッセージがかえってきました。変わった点としては
「120123 9:22:03 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist」がなくなっているところです。
120123 20:11:53 [Note] Plugin 'FEDERATED' is disabled.
mysqld: Table 'mysql.plugin' doesn't exist
120123 20:11:53 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgr
ade to create it.
120123 20:11:53 InnoDB: The InnoDB memory heap is disabled
120123 20:11:53 InnoDB: Mutexes and rw_locks use Windows interlocked functions
120123 20:11:53 InnoDB: Compressed tables use zlib 1.2.3
120123 20:11:53 InnoDB: Initializing buffer pool, size = 128.0M
120123 20:11:53 InnoDB: Completed initialization of buffer pool
120123 20:11:53 InnoDB: highest supported file format is Barracuda.
120123 20:11:53 InnoDB: Waiting for the background threads to start
120123 20:11:54 InnoDB: 1.1.8 started; log sequence number 1647042
120123 20:11:54 [ERROR] Aborting
このことから考えるに、もとから二つのバグがあり、片方がとれたということでしょうか?
何度もお手数をおかけいたしますが、何かお気づきの点や、見解などがあればご指摘いただけると幸いです。よろしくお願いいたします。
No.3
- 回答日時:
こんにちは。
単純に、MySQLのデータディレクトリがおかしい・・・という事ですね。
データベースが初期化されていないので、本来あるべきテーブルとかが、見えてないです・・・はい。
mysql_install_dbをやり直し。
または、my.cnf(my.ini)のパスを修正。
ですな。
この回答への補足
お返事ありがとうございます。
<<mysql_install_dbをやり直し。
まずこの点なのですが、私の環境はWindowsなのでこれはないんじゃないかと推測しております。私もこれを探したのですが、少なくともインストールされたフォルダ内にはないようです。
<<my.cnf(my.ini)のパスを修正。
こちらも実は探したのですが、見つかりませんでした。Windowsでは拡張子のせいで隠れているという話もあったのですが、どうにも自分にはみつけれませんでした。ただ、ならWindowsではどこで設定を保存しているのか、という問題になるのでこれの代わりになるようなファイルはあるはずなのですが、今のところ発見できていません。
また少し質問の意図からそれますが
<<データベースが初期化されていないので
なぜこれが原因だとわかったのですか?今後、またこのような問題が発生したときのために
検索方法などを伺いたいです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
mysqlのupdate構文についての質...
-
htmlコードで書かれた表にphpで...
-
エラー 1068 (42000): 複数の主...
-
mysqlがインストールされている...
-
MySQL NULLだけをカウントして...
-
SQLでカラムを追加し、条件に合...
-
「重複を間引いた数」をcountし...
-
SQLです教えてくださいお願いし...
-
SQLの検索について
-
同一日に複数レコードがある場...
-
MAMP 99ドル約1.6万円 高い...
-
あってますか?SQL
-
WHERE `年月日` = '晴' OR `年...
-
SQLです教えてくださいお願いし...
-
SQLを作ったのですがうまくいき...
-
(初心者)MySQLやmaraDBで、crea...
-
SQLです教えてくださいお願いし...
-
SQLです教えてくださいお願いし...
-
SQLです教えてください。
-
SQLです教えてくださいお願いし...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
接続ができません
-
MySQL4.1のサービス起動ができ...
-
mysql入門以前という本
-
mampのsqlserver が起動しなく...
-
ローカルエリア内のMySQLサーバ...
-
mysqldが実行できない
-
winmysqladmin.exe が赤信号です
-
mysqlのsecure-file-privオプシ...
-
mysqlが起動しなくなりました
-
MYSQLの起動オプション
-
mysqlの起動について
-
MySQLでコマンドプロンプトでモ...
-
MySQLのデータベース格納場所の...
-
PHPMyAdminが使えない
-
XAMPP内のmysql\\bin\\my.cnfが...
-
MySQLが起動できない
-
xamppでmysqlをインストールし...
-
コマンドプロンプトから起動で...
-
winmysqladmin.exeが見つかりま...
-
MySQL5でコマンドプロンプトで...
おすすめ情報