MySQL Clusterをセットアップしています。 ENGINE=NDBCLUSTER
、エンジンを指定してMySQLサーバーからデータベースをエクスポートするにはどうすればよいですか?
これを行う方法はありますか?
私のテーブルはすべてMYISAM
です
2つのmysqldumpを作成する必要があります
sed を使用して、mysqldumpはinformation_schema
、mysql
、performance_schema
を除くすべてのデータベースを
次のコマンドでスクリプトを作成します
MYSQL_USER=root
MYSQL_PASS=rootpassword
MYSQL_CONN="-u${MYSQL_USER} -p${MYSQL_PASS}"
SQL="SELECT GROUP_CONCAT(schema_name) FROM information_schema.schemata"
SQL="${SQL} WHERE schema_name NOT IN ('information_schema','mysql','performance_schema')"
DB_CSV=`mysql ${MYSQL_CONN} -ANe"${SQL}"`
DBLIST=`echo "${DB_CSV}" | sed 's/,/ /g'`
#
# Schema Only, No Data
#
mysqldump ${MYSQL_CONN} -d -B ${DBLIST}|sed 's/ENGINE=MyISAM/ENGINE=NDBCLUSTER' > schema_only.sql
#
# Data Only, No Schema
#
mysqldump ${MYSQL_CONN} -t -B ${DBLIST} > data_only.sql
このスクリプトを実行します。 2つのファイルが必要です
schema_only.sql
CREATE TABLE
コマンドが必要ですENGINE=MyISAM
がENGINE=NDBCLUSTER
と言うようになりますdata_only.sql
:テーブルをリロードするすべてのINSERTMySQL NDB Clusterセットアップでschema_only.sql`スクリプトを実行します。
すべてのテーブルが作成されたことを確認してください。
次のような、テーブルの作成を妨げる特別なオプションがあることを確認してください。
問題が発生した場合は、いつでもschema_only.sql
を手動で編集して再読み込みできます。
すべてのテーブルが準備できたら、MySQL NDB Clusterでdata_only.sql
を実行します。