MySQL / PHPMyAdmin

Posted

技术标签:

【中文标题】MySQL / PHPMyAdmin【英文标题】: 【发布时间】:2016-02-12 17:35:28 【问题描述】:

我最近从另一家“开发”公司接管了一个 WordPress 网站。该网站非常不稳定,无法满足客户的需求。因此,我目前正在尝试将网站批发导出到我们公司的一台服务器。

由于各种原因,许多备份插件都失败了,所以我现在尝试通过 phpmyadmin 导出 mysql 数据库以导入我们的 MySQL 服务器。我已经从旧服务器完全导出并尝试通过 phpmyadmin 将其导入新服务器。但是,这会在一段时间后失败,并没有真正的原因说明。

接下来,我单独导出每个表并尝试将它们导入新服务器。前 2/3 左右似乎可以工作,但后 1/3 都无法导入,输出/错误消息表明该表声明了多个主键。

我确实需要从旧服务器中导出数据库结构和数据并将其传输到新服务器。所以,我真的很困惑我的下一步行动可能是什么。如果这些表有多个主键并且这会阻止导入,那么它们最初是如何创建的??

我可以做些什么来纠正这种情况并迁移数据?

【问题讨论】:

PHP 我的管理员会给出原因,否则可能会超时?文件大小也可能有限制,SQL文件有多大? 整个数据库的压缩导出显然是2192KB。 您是否尝试过使用古老而简单的mysql -u UNAME -p db_name < data.sql,因为phpMyAdmin 依赖于所有php.ini 设置,例如max_execution_timepost_max_size 等? 老实说 MySQL 不是我的强项,所以这对我来说是新的。您能否详细说明它的作用以及我应该从中得到什么? 它只是将转储文件data,sql中的数据导入您的MySQL数据库db_name。只需谷歌mysql import dump 或类似的东西。 【参考方案1】:

这可能是您获得的转储的问题。如果它太大,您的 phpmyadmin 会在一段时间后崩溃。如果您对服务器具有 ssh 访问权限,则可以在将转储文件上传到服务器后通过 shell 轻松导入转储。如果这不可能,您可以使用大型转储脚本http://www.ozerov.de/bigdump/,它会自动部分导入转储,因此不再存在服务器超时。

【讨论】:

对 SSH 的良好调用。做这类事情的最佳方式 但是 SSH 不会神奇地将他的转储加载到 MYSQL 中,所以并不是这个问题的真正答案。 不知道哪个主机运行服务器,所以没有我可以推荐的 ssh dump 命令。可能会推迟... 看来问题实际上出在进程的导入端。使用不同的工具导入 SQL 没有任何问题。【参考方案2】:

这似乎与 PHP / phpMyAdmin 的某些限制因素有关。我能够通过 Virtualmin / Webmin 中的 SQL 工具导入生成的 SQL 脚本,没有任何明显的问题。

【讨论】:

以上是关于MySQL / PHPMyAdmin的主要内容,如果未能解决你的问题,请参考以下文章

mysql(设置/更改mysql密码,连接MySQL,MySQL常用命令,MySQL两种引擎区别)

MySQL教程

MySQL

MySQL

有什么学习MySQL的好教程吗?

MySql 详解