将数据库导入mysql导致表中有0行

Posted

技术标签:

【中文标题】将数据库导入mysql导致表中有0行【英文标题】:Importing database into mysql causes 0 rows in tables 【发布时间】:2017-06-09 23:55:49 【问题描述】:

我正在将一个 wordpress 网站从一台服务器转移到另一台服务器(同一主机)。我已经使用 phpmyadmin 从一台服务器导出了网站,并使用 phpmyadmin 将其导入到另一台服务器上。导入成功,但是查看数据库时,显示所有表都有0行。表格的大小不是零,但比原来的要小。我附上了一个示例截图。 原版的: http://imgur.com/download/Dn6KEfS

进口: http://imgur.com/download/cOEPTcV

两台服务器都是 nginx/1.4.6,libmysql - 5.5.53,带有 mysqli php 扩展名。我尝试了以下方法: * 使用更新而不是插入语句导入和导出 * 多次删除新数据库中的表并重新导入 * 使用命令行工具代替 phpmyadmin

【问题讨论】:

【参考方案1】:

我想通了。任何偶然发现这一点的人: - 在导出之前,我的某些表有问题,我会得到一个问题,即“_transient”中已经存在密钥等问题。我不知道这是缓存问题还是什么,但我读到了UPDATE 而不是 INSERT 可以解决这个问题,所以我导出了带有 UPDATE 集而不是 INSERT 的 SQL 数据库。

来自 wordpress 中的大量 update_post_meta,我错误地假设 SQL 会在更新语句不存在时插入一行,但事实并非如此。这就是我创建表的原因,但它们是空的,因为没有什么要更新的。

所以解决方案是:我使用 INSERT 语句导出了数据库,我没有包含给我带来问题的表,并且我使用命令行而不是 phpmyadmin 界面来导入数据库。这是因为有时我的连接不可靠,上传大文件可能会导致问题。所以我先通过rsync上传,然后使用

mysql> 使用数据库;

mysql> 源exported_db.sql

希望这可以为某人节省几个小时的生命。

【讨论】:

以上是关于将数据库导入mysql导致表中有0行的主要内容,如果未能解决你的问题,请参考以下文章

mysql数据库支持多少条数据

mysql数据库支持多少条数据

尝试使用 PHP 和 mysql 在 3 个 html 表中显示 87 行 mysql [关闭]

怎样将MySQL数据导出到Excel表中

PHP:CSV 导入 MYSQL 总是少于 CSV 文件中的实际行数?

怎样将MySQL数据导出到Excel表中