我已经在我的 Dev 和 Staging 服务器上运行了几次 Magento 从 1.5 到 1.7 的升级,没有出现很多问题,但是当我尝试对生产数据库运行它时,它需要永远完成(到目前为止几个小时)。
有没有更好的方法来升级 Magento DB?我不能让网站关闭几个小时来升级数据库。
我已经在我的 Dev 和 Staging 服务器上运行了几次 Magento 从 1.5 到 1.7 的升级,没有出现很多问题,但是当我尝试对生产数据库运行它时,它需要永远完成(到目前为止几个小时)。
有没有更好的方法来升级 Magento DB?我不能让网站关闭几个小时来升级数据库。
您可能在这里遇到 IO 瓶颈,因为 magento 使用 innodb 引擎,并且在更新更改大表和删除/创建主键之间永远依赖于您的表 sises 和可用资源。
在 innodb 中,当添加列时,表基本上会重新创建并复制到正在进行的临时表中,因此如果您的数据库堆栈上有 100k 行和较差的 IO(例如,不使用 SSD),那么这是可以预期的。
您可以通过对您的 sales_flat_quote 表或 sales_flat_order 进行更改(查看哪个有更多行)并查看需要多长时间来轻松衡量这一点:)然后乘以您需要执行的所有更改命令,您就可以得到更新时间。Magento 从这方面来说有点愚蠢,并且不会在一次通话中一个接一个地进行更改和键删除/添加,因此基本上很可能您将所有时间都浪费在等待更改完成上。