【问题标题】:How to export data from MariaDB on linux and import it to MariaDB on XAMPP Windows如何从 Linux 上的 MariaDB 导出数据并在 XAMPP Windows 上将其导入 MariaDB
【发布时间】:2017-05-29 07:38:54
【问题描述】:

每个人。

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

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

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

尝试在一个表中使用一些值,我意识到字符集存在问题,因为当用“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 导入它。所以我不知道还能做什么。

提前致谢。

【问题讨论】:

    标签: mariadb


    【解决方案1】:

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

    A 计划:删除该选项。

    Plan B:在目标机器上,加载前一定要建立好字符集。

    Plan B1:在 my.cnf 文件中设置东西

    计划 B2:

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

    由于 MariaDB 直到 4.0 之后很久才存在,我认为该设置是不必要的。

    【讨论】:

      猜你喜欢
      • 2022-12-06
      • 2019-06-04
      • 2020-03-05
      • 2017-02-08
      • 1970-01-01
      • 1970-01-01
      • 2017-08-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多