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

InnoDBテーブルはMySQLに存在しますが、データベースを新しいサーバーにコピーした後は存在しないと言います

    「テーブルを表示する」理由。動作するのは、mysqldがデータベースディレクトリをスキャンして.frmファイルのみを探すためです。それらが存在する限り、テーブル定義が表示されます。

    データをMySQLにインポートし、このエラーメッセージが表示された場合、最初に実行するのは次のコマンドを実行することです:(BTWこれはMySQL 5.1.45ですが、とにかくMySQL 5.xで動作します)

    mysql> show engines;
    +------------+---------+----------------------------------------------------------------+--------------+------+------------+
    | Engine     | Support | Comment                                                        | Transactions | XA   | Savepoints |
    +------------+---------+----------------------------------------------------------------+--------------+------+------------+
    | InnoDB     | YES     | Supports transactions, row-level locking, and foreign keys     | YES          | YES  | YES        |
    | MRG_MYISAM | YES     | Collection of identical MyISAM tables                          | NO           | NO   | NO         |
    | BLACKHOLE  | YES     | /dev/null storage engine (anything you write to it disappears) | NO           | NO   | NO         |
    | CSV        | YES     | CSV storage engine                                             | NO           | NO   | NO         |
    | MEMORY     | YES     | Hash based, stored in memory, useful for temporary tables      | NO           | NO   | NO         |
    | FEDERATED  | NO      | Federated MySQL storage engine                                 | NULL         | NULL | NULL       |
    | ARCHIVE    | YES     | Archive storage engine                                         | NO           | NO   | NO         |
    | MyISAM     | DEFAULT | Default engine as of MySQL 3.23 with great performance         | NO           | NO   | NO         |
    +------------+---------+----------------------------------------------------------------+--------------+------+------------+
    8 rows in set (0.00 sec)
    

    データをインポートしたサーバーがInnoDBが無効になっていると言っている場合は、大きな問題があります。すべきことは次のとおりです。

    1)新しいインポートDBサーバーからすべてのデータを削除します

    2)InnoDBセットアップのクリーンアップ

    3)SHOWENGINESを実行します。そして、InnoDBが完全に機能していることを確認してください!!!

    4)mysqldumpを新しいインポートサーバーにリロードします

    試してみてください!!!



    1. 原因:java.lang.NoSuchMethodError:org.postgresql.core.BaseConnection.getEncoding()Lorg / postgresql / core / Encoding;

    2. 排他的論理和またはmysqlでの使用

    3. JavaはAppengineマネージドVMからクラウドSQL第2世代に接続します

    4. 複雑なSQLクエリ-複数の異なる外部キーに一致するアイテムの検索