• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:mysqldが実行できない)

mySQL起動できずに困っています

このQ&Aのポイント
  • mySQLが起動しない状況に困っています。Windows7環境で実行していますが、エラーが発生しています。
  • 以下の手順を試しましたが、エラーが続いています。
  • エラーログにはmysql.pluginテーブルが存在しないため、mysql_upgradeの実行ができないと書かれています。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.5

こんにちは。 >datadir=C:/software/study/mySQL/data >という行を追加することによって このパスは合ってますか?

lain_003
質問者

お礼

すいません。結局再インストールして解決しました。 色々お付き合いいただいて、この結末で申し訳ありませんが、これにて質問終了とさせていただきます。 ありがとうございました。

その他の回答 (4)

回答No.4

こんばんは。 >まずこの点なのですが、私の環境はWindowsなのでこれはないんじゃないかと推測しております。 そうね・・・、ないです。 >こちらも実は探したのですが、見つかりませんでした。 いや、これは見つけてもらわないと話が進みません・・・。 my.iniならそのままですが、my.cnfならmyだけになってます。 これは死ぬ気で見つけてください・・・笑。 ここにデータフォルダのパスが設定されてるので、間違っていたら修正してください。 もしも間違っていないのなら、設定ファイルをちゃんと読めてないのかも知れません。 その場合、起動スクリプトのオプションで、 --defaults-file="設定ファイルのパス" を指定すれば、うまくいくかも知れません・・・。 >なぜこれが原因だとわかったのですか? だって、MySQLが言ってます。 テーブルが開けないから作れ・・・と。 そんなテーブルねぇよ!!・・・と。

lain_003
質問者

補足

なんどもお返事ありがとうございます。 色々検索した結果、 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)のパスを修正。 ですな。

lain_003
質問者

補足

お返事ありがとうございます。 <<mysql_install_dbをやり直し。 まずこの点なのですが、私の環境はWindowsなのでこれはないんじゃないかと推測しております。私もこれを探したのですが、少なくともインストールされたフォルダ内にはないようです。 <<my.cnf(my.ini)のパスを修正。 こちらも実は探したのですが、見つかりませんでした。Windowsでは拡張子のせいで隠れているという話もあったのですが、どうにも自分にはみつけれませんでした。ただ、ならWindowsではどこで設定を保存しているのか、という問題になるのでこれの代わりになるようなファイルはあるはずなのですが、今のところ発見できていません。 また少し質問の意図からそれますが <<データベースが初期化されていないので なぜこれが原因だとわかったのですか?今後、またこのような問題が発生したときのために 検索方法などを伺いたいです。

回答No.2

サービスプログラムはサービスから起動するようにプログラムされているので 「コマンドラインでmysqldを実行する」ことは多分出来ないと言う意味です。

lain_003
質問者

補足

お返事ありがとうございます。 サービスから起動させてみたのですが、残念ながら動きませんでした。 また少し論争になるかもしれませんが、私の環境では実行すると、コンソールにエラーメッセージが出て、そのメッセージはログとして保存されていますので、実行できていると考えます。 また何かお気づきの点がありましたら、ご指摘いただけると幸いです。

回答No.1

mysqldはサービスプログラムとして作られているはずですので、コントロールパネルの管理ツールのサービスのMySQLで開始する必要があると思います。

lain_003
質問者

補足

お返事ありがとうございます。 サービスから起動しているプログラムがこのmysqldだと私は認識しています。 間違っていたらお手数ですが再度ご指摘ください。

関連するQ&A