跨平台导入 MySQL 数据时出错(MAMP 到 WIMP)
Posted
技术标签:
【中文标题】跨平台导入 MySQL 数据时出错(MAMP 到 WIMP)【英文标题】:Error importing MySQL data across platforms (MAMP to WIMP) 【发布时间】:2011-09-16 09:15:56 【问题描述】:我已将本地 MAMP 服务器上的 mysql 数据库转储到 .sql 文件中。通常,我可以轻松地将该文件导入到我的生产 Linux 服务器中。但是,我当前的客户端在 WIMP 上运行 MySQL,当将 MAMP 生成的 .sql 转储导入我的 WIMP mysql 环境(使用 pphpMyAdmin)时,我收到“无法读取文件”错误?
对我遇到的问题或要检查的内容有什么想法吗?谢谢-
编辑:
我最初的解释不清楚 - 我正在尝试从 MAMP 导出,然后 import 到 WIMP
【问题讨论】:
发布您正在使用的命令。 【参考方案1】:@Zhehao 指出了问题,这需要转换 .sql 文件的换行符。
但是,我只是想分享另一种对我有用的方法是简单地转储到 SQL 窗格而不是文件,然后将其复制粘贴到目标 phpMyAdmin SQL 窗格中。
【讨论】:
【参考方案2】:此问题的最可能原因是 DOS 和 UNIX 平台上的不同行尾约定。 Windows 使用 DOS 约定 '\r\n' 换行,而 Mac OSX 和 Linux 使用 UNIX 约定 '\n' 换行。要解决此问题,请在 Mac 上的 mysql 转储文件上运行 unix2dos 实用程序,然后将文件复制到 Windows 机器上。
【讨论】:
@Zhehao-我的问题不清楚-我正在尝试另一种方式,从mac到windows-你能修改你的答案吗? @Zhehao- 你如何在 Mac 上获取/访问 unix2dos- 我只花了半个小时从这里下载了一个版本:us.osxgnu.org/pub/osxgnu/File_utils/unix2dos-1.2X.pkg.sit 它说它需要“Rosetta 软件”才能运行,更不用说stuffit 等等……一定有更简单的方法!? 哎呀!对于那个很抱歉。我假设它是默认安装的。我是 linux 用户,而不是 Mac 用户,所以我很抱歉。 dos2unix 和 unix2dos 程序可以从thefreecountry.com/tofrodos 获得。显然他们也有 Windows 二进制文件,所以如果你愿意,你可以在你的 Windows 机器上进行转换。 @Zhehao- 虽然我认为你的方式可能可行,但我最终只是从一个 SQL 窗格复制粘贴到另一个,这对我有用(见我的回答)。不过,我会给你功劳,因为它让我到了那里-谢谢【参考方案3】:-
您的 .sql 文件应转换为 unix 文件结尾。您可以在 Mac 和 Linux 上使用 dos2unix(或 frodos)。
db.sql 文件的大小是多少?我认为 phpMyAdmin 有文件大小限制。
您可以尝试在命令行中使用 mysql,看看它是否为您提供了更多信息。
mysql -u user -p -D db < file
【讨论】:
@ttymatty-我的问题不清楚-我正在尝试另一种方式,从mac到windows-你能修改你的答案吗?【参考方案4】:您确定 mySQL linux 服务器有权读取该文件吗?
【讨论】:
以上是关于跨平台导入 MySQL 数据时出错(MAMP 到 WIMP)的主要内容,如果未能解决你的问题,请参考以下文章