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を探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/12】 急に朝起こしてきた母親に言われた一言とは?
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・好きな「お肉」は?
- ・あなたは何にトキメキますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
接続ができません
-
postgreSQLのデータ型
-
VBAで変数内に保持された二次配...
-
MySQLカラム名は日本語と英数字...
-
MySQL+PHP 接続エラーについて
-
mysqlがインストールされている...
-
Float型の時の計算結果がおかしい
-
パスワード入力を省略したい
-
ODP.NETのバージョン確認
-
SQL開発環境ソフトウェアである...
-
MYSQLサービス停止時にWindows...
-
windows上のphpにおける全角ハ...
-
INT型は金額の型に使用するべき...
-
-3.34 が -3.3399999999999999 ...
-
ERROR 1045 (28000) (using pas...
-
経過時間(hhmmdd)をDATE型には...
-
oracle、DB2、SqlServerのフィ...
-
[SQLserver]長文に適したデータ...
-
sjisを使いたい!
-
my.iniで設定するパスワードの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
接続ができません
-
mysqlのsecure-file-privオプシ...
-
「mysqld dead but subsys lock...
-
MySQL起動方法について
-
xamppにてphpMyAdminが起動しない
-
Postfixをインストールしたら、...
-
MySQLのデータベース格納場所の...
-
mysqldが実行できない
-
xamppでMySqlが正しく起動しない
-
mampのsqlserver が起動しなく...
-
助けてください
-
ODP.NETのバージョン確認
-
副問合せにLIKE文を使う方法は...
-
MySQLカラム名は日本語と英数字...
-
mysqlへのインポート処理がうま...
-
INT型は金額の型に使用するべき...
-
mysqlがインストールされている...
-
SQLのVARCHARとVARCHAR2の違い
-
VBAで変数内に保持された二次配...
-
RPMのmysqlとmysql-serverの違い
おすすめ情報