如何从Linux上的MariaDB导出数据并将其导入XAMPP Windows上的MariaDB

时间:2017-01-13 20:29:42

标签: mariadb

大家。

在我的工作中,对于本地测试,我(必须)在Windows 7上使用xampp(使用MariaDB)。

测试和生产服务器运行linux(LAMP,“M”代表MariaDB)。

我一直在尝试使用mysqldump从Develop服务器导出数据。数据实际上是导出的,但是当运行aplicaction时,响应中的数据无效,我的意思是:数据字段是“”而不是通常的json对象。

尝试使用一个表中的某些值时,我发现charset存在问题,因为当用“A”更改“Á”字符时,所有数据都是正确的。

我已经尝试了几个小时的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-workbench导入它。所以我不知道还能做什么。

提前致谢。

1 个答案:

答案 0 :(得分:0)

您是否有充分的理由使用--compatible=mysql40?有了它,就不会发出命令来建立字符的编码。

计划A:删除该选项。

计划B:在目标计算机上,确保在加载前建立字符集。

计划B1:在my.cnf文件中设置内容

计划B2:

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

由于MariaDB在4.0之后很久才存在,我希望这个设置是不必要的。