我正在将wordpress网站从一台服务器转移到另一台服务器(同一台主机)。我使用phpmyadmin从一台服务器导出了网站,并使用phpmyadmin将其导入到另一台服务器上。导入成功,但在查看数据库时,它显示所有表中有0行。表的大小不为零,但它小于原始大小。我附上了一个示例截图。 原版的: http://imgur.com/download/Dn6KEfS
进口: http://imgur.com/download/cOEPTcV
这两个服务器都是nginx / 1.4.6,libmysql - 5.5.53,带有mysqli php扩展。我尝试过以下方法: *使用Update而不是Insert语句导入和导出 *多次删除新数据库中的表并重新导入 *使用命令行工具而不是phpmyadmin
答案 0 :(得分:0)
我明白了。任何偶然发现的人: - 在导出之前我遇到了一些表的问题,我会在“_transient”中找到一个密钥问题,等等。我不知道这是否是一个缓存问题,但我读到了UPDATE而不是INSERT会解决问题,因此我使用UPDATE set而不是INSERT导出SQL数据库。
来自wordpress中的很多update_post_meta,我错误地认为如果不存在,SQL会在update语句中插入一行,但实际情况并非如此。这就是为什么我的表被创建了,但它们是空的,因为没有什么可以更新。
所以解决方法是:我使用INSERT语句导出数据库,我没有包含给我提出问题的表,我使用命令行而不是phpmyadmin接口来导入数据库。这是因为我有时连接不可靠,上传大文件可能会导致问题。所以我先通过rsync上传它,然后使用
的MySQL>使用数据库;
的MySQL> source exported_db.sql
希望这会为某人节省几个小时的生命。