データベーステーブルエンジンをInnoDB
からndbcluster
に変更しようとしたときにこの問題が発生しましたが、機能しませんでした。しかし、エンジンをInnoDB
からndbcluster
に変更すると、機能しました。
エラーは発生しませんでしたが、機能しませんでした。 MySQL
のサイトから取得できなかったのに機能しない理由を知りたいだけです。私は同じ理由を知る必要があります。
クライアントの要件については、データを失うことなく、インストールされているデータベースのエンジンを変更する必要があるかもしれません。
問題を解決するために誰でも提供できるアイデアやヘルプ。
ndbcluster
をInnoDB
に変更できない理由
MySQLでのクラスタリングは、NDBストレージエンジンでのみサポートされています。 ndbcluster/ndb
ストレージエンジンは、ENGINE=ndbcluster;
でテーブルを指定した場合のクラスタリングを意味します。これは、テーブルがすべてのノードで共有されており、他のENGINE
タイプに変更できないことを意味します。このテーブルのバックアップを取り、次にndbcluster
オプションを使用してDROP table
を作成し、ndbcluster
をinnodb
に変更してインポートする必要があります。
ただし、MySQL Clusterで使用されているMySQLサーバーで他のストレージエンジン(InnoDBやMyISAMなど)を使用してテーブルを作成することは可能ですが、これらのテーブルはNDB
を使用しないため、クラスタリングには参加しません;そのような各テーブルは、それが作成された個々のMySQLサーバーインスタンスに対して厳密にローカルです。
InnoDBからndbclusterに移行しますか?
外部キーを持つInnoDBテーブルをNDBに移行するには2つの方法があります。
データベースのダンプとスクリプトの編集は、mysqldumpとテキストエディターの簡単な使用法です。