sql >> データベース >  >> RDS >> Mysql

MySQLテーブルは存在しませんエラーですが、存在します

    これはちょうど私に起こりました、そしてしばらくして私はブログ記事で答えを見つけました、そしてそれをここにも置きたいと思いました。

    MySQLデータディレクトリを/var/lib/mysqlからコピーする場合 to /path/to/new/dir 、ただし、データベースフォルダ(つまり、mysql)のみをコピーします 、wpdbecommerce など)そして、innodbテーブルがある場合、innodbテーブルは「showtables」に表示されますが、クエリを実行します(select およびdescribe )は失敗し、エラーMysql error: table db.tableName doesn't exist.frmが表示されます dbディレクトリ内のファイル、そしてなぜだろうか。

    innodbテーブルの場合、ib*をコピーすることが重要です。 ファイル。私の場合はibdata1でした。 、ib_logfile0 、およびib_logfile1 。それらを確実にコピーして転送を行うと、すべてが期待どおりに機能しました。

    my.cnfファイルに「innodb_file_per_table」が含まれている場合、.ibdファイルはdbディレクトリに存在しますが、それでもib*ファイルが必要です。



    1. SELECT、WHERE、およびORDER BY句の結果を再利用するにはどうすればよいですか?

    2. MySQLmy.cnfでsql-mode=NO_ENGINE_SUBSTITUTIONを永続的にする方法

    3. PL / SQLを使用してOracleでログファイルを作成するにはどうすればよいですか?

    4. mysqlの「!=」と「<>」の違いは何ですか