2017-01-13 7 views
0

everyone。LinuxでMariaDBからデータをエクスポートし、XAMPP WindowsのMariaDBにインポートする方法

私の仕事では、ローカルテストのために、私は(Windows用のxamppをMariaDBを使用して)使用しなければなりません。

テストサーバとプロダクションサーバはlinux(LAMP、 "M"はMariaDB用)を実行します。

私は、開発サーバーからmysqldumpでデータをエクスポートしようとしていました。データは実際にエクスポートされますが、アプリケーションを実行すると応答のデータが無効になります。データフィールドは通常のjsonオブジェクトではなく ""です。

1つのテーブルでいくつかの値を試してみました。 "A"で "Á"文字を変更すると、すべてのデータが正しく来たので、charsetに問題があることがわかりました。

私は何時間もmysqldumpの多くのオプションを試してきましたが、データを正しくインポートする方法を見つけることができません。

私が試み:

mysqldump --single-transaction --default-character-set=utf8 --compatible=mysql40 -u 'imtheman' -p 'myDB' > MyExport.sql 

mysqldump --single-transaction --no-create-db --no-create-info --default-character-set=utf8 --compatible=mysql40 -u 'imtheman' -p 'myDB' > MyExport.sql 

mysqldump --single-transaction --no-create-db --no-create-info --skip-comments --skip-add-locks --default-character-set=utf8 --compatible=mysql40 -u 'imtheman' -p 'myDB' > MyExport.sql 

mysqldump --single-transaction --skip-comments --skip-add-locks --default-character-set=utf8 --compatible=mysql40 -u 'imtheman' -p 'myDB' > MyExport.sql 

mysqldump --single-transaction --skip-comments --skip-add-locks --default-character-set=utf8 --compatible=ansi -u 'imtheman' -p 'myDB' > MyExport.sql 

mysqldump --single-transaction --skip-comments --skip-add-locks --default-character-set=utf8 -u 'imtheman' -p 'myDB' > MyExport.sql 

私はphpMyAdminの(XAMP)とMySQL、ワークベンチでそれをインポートしようとしました。だから何をすべきかわからない。

ありがとうございます。

答えて

0

--compatible=mysql40を使用する理由はありますか?それによって、文字のエンコーディングを確立するためのコマンドは発行されません。

プランA:このオプションを削除します。

プランB:ターゲットマシンでは、ロードする前に必ずキャラクタセットを確立してください。

プランB1:長い4.0の後、私は設定が不要であることを期待するまで、MariaDBは存在しなかったので

mysql ... 
SET NAMES utf8; 
source dumpfile.sql 

my.cnfファイルでプランB2を、物事を設定します。

関連する問題