質問させてください。
ただいま仲間と共同開発の練習のため、ローカル環境で作業で切るよう準備をしていますが、
サーバーを立ち上げ、 http://localhost:3000/ につなげると、
ActiveRecord::StatementInvalid
と言うエラーで先にすすめずにいます。。
申し訳ありませんが、分かる方いらっしゃればアドバイスいただけると助かります。
前提・実現したいこと
MySQL,Ruby on Railsのサーバー につなげた状態でlocalhostに繋げて開発がしたいです。
発生している問題・エラーメッセージ
localhost
1ActiveRecord::StatementInvalid 2 3Mysql2::Error: Tablespace is missing for table `*****_development`.`schema_migrations`.: SELECT `schema_migrations`.`version` FROM `schema_migrations` ORDER BY `schema_migrations`.`version` ASC
(Google翻訳)Mysql2 :: Error:テーブル *****_development
.schema_migrations
。のテーブルスペースがありません:SELECT schema_migrations
.version
FROM schema_migrations
ORDER BY schema_migrations
.version
ASC
該当のソースコード
ターミナルでMySQLサーバー起動
サーバーの起動
mysql
1$ mysql.server start
rootとしてログインし、設定したパスワード入力
mysql
1$ mysql -uroot -p 2 3Enter password:
Railsの起動
Rails
1$ rails s
その後 http://localhost:3000/ に接続すると上記のエラーが表示されます。
試したこと
まずエラー文をGoogle翻訳にかけたところ
「Mysql2 :: Error:テーブル ******_development
.schema_migrations
。のテーブルスペースがありません:」
とのことなのでまずMySQLのテーブルの場所を探すことにしました。
「mysql テーブル 5.7.6]で検索すると
####「MySQL 5.7.6でmysql.userテーブルのパスワードのカラム名がなんか変わった」
https://yoku0825.blogspot.com/2015/03/mysql-576mysqluser.html
こちらの記事から試しました。
MySQLで一部のテーブルが破損して起動しなくなった時の対処
mysql
1DESC mysql.user;
この中から*****_development
.schema_migrations
。のテーブルスペースを探す。
mysql
1DESC mysql.user;
なかった上に、この後「必要なテーブルを増やすか復元するのか」と言う問題触れていなそうだったので、エラー文章最初の行
####「Mysql2::Error: Tablespace is missing for table」
をグーグル検索したところ
####「MySQLで一部のテーブルが破損して起動しなくなった時の対処」
http://interprism.hatenablog.com/entry/mysql_table_broken
など、データの破損を示唆する記事があったので、MySQL のログを確認の仕方を調べていたのですが、自分のように大部分がごっそり抜けている事例が少なく、どのログをどのように解決と結びつければいいか、時間をかけて調査をしましたが分かりませんでした。
申し訳ありませんが、お手隙の際対応可能な方がいらっしゃれば、アドバイスお願いいたします。
補足情報(FW/ツールのバージョンなど)
【開発環境】
Ruby(2.7.1)
Rails (Rails5.2)
MySQL (5.7)
回答1件
あなたの回答
tips
プレビュー