将Wordpress数据库导入Laravel Valet,未导入行

时间:2019-07-01 21:59:23

标签: mysql wordpress phpmyadmin laravel-valet valet

我要将Wordpress网站从服务器复制到本地代客环境。

导出数据库时,在 wp_options 表中可以看到存在诸如 site_url 等行。

但是,当我通过wp-cliphpMyAdmin将数据库导入Valet时, wp_options 表缺少了您希望在Wordpress中找到的所有常规行网站。

相反,transients等只有少量数据。

其他表也发生类似的情况。

我正在跑步:

  • macOS 10.4.3
  • phpMyAdmin 4.9.0.1
  • wp-cli 2.2.0
  • Laravel代客2.3.3

我一直在导出/导入 wp_options 表中的 just ,以加快排除故障所需的时间。

我尝试更改导出/导入设置,例如压缩最大化输出兼容性,但无济于事。

此后,我对数据库的了解还很有限。

如果我使用其他项目中的数据库重复相同的过程,则效果很好。

我将在下面粘贴示例 wp_options 数据。

麻烦的 wp_options (略作编辑以隐藏客户端详细信息):

DROP TABLE IF EXISTS `example_options`;
CREATE TABLE `example_options` (
  `option_id` bigint(20) UNSIGNED NOT NULL,
  `option_name` varchar(191) COLLATE utf8_unicode_ci DEFAULT NULL,
  `option_value` longtext COLLATE utf8_unicode_ci NOT NULL,
  `autoload` varchar(20) COLLATE utf8_unicode_ci NOT NULL DEFAULT 'yes'
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
INSERT INTO `example_options` (`option_id`, `option_name`, `option_value`, `autoload`) VALUES
(1, 'siteurl', 'https://www.example.com', 'yes'),
(2, 'blogname', 'Example Site', 'yes'),
(3, 'blogdescription', '', 'yes'),
...

相比之下,另一个项目的转储效果很好。 请注意,此处的Wordpress版本有所不同,它会更改添加行的顺序。

DROP TABLE IF EXISTS `wp_options`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
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`)
) ENGINE=InnoDB AUTO_INCREMENT=2376 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
LOCK TABLES `wp_options` WRITE;
/*!40000 ALTER TABLE `wp_options` DISABLE KEYS */;
INSERT INTO `wp_options` VALUES
(1,'siteurl','https://www.example.com','yes'),(2,'home','https://www.example.com','yes'),
(3,'blogname','Example Site','yes'),
...

一旦我导入了数据库,浏览到站点将导致Error establishing database connection错误。

如果我尝试使用wp-cli,有时会得到Error: One or more database tables are unavailable. The database may need to be repaired.,否则为Error establishing database connection

1 个答案:

答案 0 :(得分:0)

一位同事已经注意到,如果您在最初导出数据库时取消选中Enclose export in a transaction选项,该方法将起作用。

这将使我暂时难受,因为它只是受影响的本地项目。