正在通过UpdraftPlus将WordPress从Dreamhost迁移到Azure WordPress资源“wp_Options表不存在...”错误

时间:2020-08-26 作者:Ryan

Goal
我们的目标是将wordpress站点从DreamHost迁移到Azure wordpress资源。

Process and Errors
我们安装了UpdraftPlus (pro版本)在两个版本上。我们利用了它Send a backup to another site->Recieve a backup from a remote site功能。在数据库还原过程中,它失败并出现以下错误wp_options table does not exists....

我们最终从下载了数据库备份文件UpdraftPlus. 顶部部分如下所示:

# WordPress MySQL database backup
# Created by UpdraftPlus version 2.16.27.24 (https://updraftplus.com)
# WordPress Version: 5.5, running on PHP 7.4.2 (Apache), MySQL 5.7.28-log
# Backup of: http://example.com
# Home URL: http://example.com
# Content URL: http://example.com/wp-content
# Uploads URL: http://example.com/wp-content/uploads
# Table prefix: wp_
# Filtered table prefix: wp_
# Site info: multisite=0
# Site info: end

# Generated: Tuesday 25. August 2020 19:52 UTC
# Hostname: mysql.example.com
# Database: `mydatabasename_com`
# --------------------------------------------------------
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;
/*!40101 SET foreign_key_checks = 0 */;

# Table: `wp_options`
# Approximate rows expected in table: 551

# Delete any existing table `wp_options`

DROP TABLE IF EXISTS `wp_options`;

# Table structure of table `wp_options`

CREATE TABLE `wp_options` (
  `option_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `option_name` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT \'\',
  `option_value` longtext COLLATE utf8mb4_unicode_ci NOT NULL,
  `autoload` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT \'yes\',
  PRIMARY KEY (`option_id`),
  UNIQUE KEY `option_name` (`option_name`),
  KEY `autoload` (`autoload`)
) ENGINE=MyISAM AUTO_INCREMENT=595049 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

# Data contents of table `wp_options`
 
INSERT INTO `wp_options` VALUES 
  (1, \'siteurl\', \'http://example.com\', \'yes\'),
  (2, \'home\', \'http://example.com\', \'yes\'),
  (3, \'blogname\', \'My Blog Name\', \'yes\'),
...
我们用了剧本Workbench 查询Azure MySQL数据库。不幸的是,它出现了相同的错误:wp_options table does not exists....

备份查询脚本中的第一个命令是删除当前wp_options 表(如果存在)。以下命令是一个create查询,用于重新创建wp_options 桌子此命令自动失败。下一个命令,将值插入wp_options 表,是导致所示错误的表。没有wp_options 要插入到的表。

Summary and Question
当前MySQL创建查询失败并导致错误。如何成功传输数据库?

1 个回复
SO网友:Ryan

我们通过下载了一个数据库备份UpdraftPlus 来自Azure Wordpress。问题变得很清楚。查看创建查询的存储引擎和排序规则:

CREATE TABLE `wp_options` (
  `option_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `option_name` varchar(191) COLLATE utf8mb4_unicode_520_ci NOT NULL DEFAULT \'\',
  `option_value` longtext COLLATE utf8mb4_unicode_520_ci NOT NULL,
  `autoload` varchar(20) COLLATE utf8mb4_unicode_520_ci NOT NULL DEFAULT \'yes\',
  PRIMARY KEY (`option_id`),
  UNIQUE KEY `option_name` (`option_name`),
  KEY `autoload` (`autoload`)
) /*!50100 TABLESPACE `innodb_system` */ ENGINE=InnoDB AUTO_INCREMENT=214 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci;
在DreamHost上,我们编辑了每个数据库表,使其具有与Azure MySQL数据库表相同的存储引擎和排序规则。我们刚刚打开了好的旧phpMyAdmin,并通过表选项调整了每个表,如下所示:

phpMyAdmin wordpress table operations

要清楚的是,情况正在发生变化:
Storage Engine:
MyISAM -&燃气轮机;InnoDB
Collation:
utf8mb4_unicode_ci -&燃气轮机;utf8mb4_unicode_520_ci

然后,我们直接从phpMyAdmin获取一个数据库导出,并通过Workbench. 维奥拉!整个数据库传输成功。

Actual Problem
我不知道为什么一开始这不起作用,但是。。。我猜测Azure MySQL数据库位于Windows环境中,而DreamHost MySQL数据库位于Linux环境中。因此,可能有一些数据库配置不一致。

相关推荐

Server Migration Issues

我正在尝试重建使用wordpress为客户端创建的网站。com并通过WordPress托管。可能并不奇怪,该站点在WP服务器上运行速度非常慢。除此之外,它还需要重新设计,当我们集成了一个e-com插件时,商店页面变得非常慢。(交互加载时间超过14秒)我想从头开始重建网站,所以我用siteground购买了主机,在我的siteground帐户中添加了URL作为外部注册的域,并创建了WordPress安装。我将DNS指向siteground服务器,它在大约12小时内就可以正常运行。唯一的问题是wordpres