mysql - 将 Wordpress 数据库导入 Laravel Valet,未导入行
问题描述
我正在将 Wordpress 站点从服务器复制到本地 Valet 环境。
当我导出数据库时,我可以在wp_options表中看到诸如site_url等行。
wp-cli
然而,当我通过或将数据库导入 Valet 时phpMyAdmin
,wp_options表缺少您希望在 Wordpress 站点中找到的所有常用行。
相反,只有少量数据transients
等。
其他表也会发生类似的情况。
我在跑:
- macOS 10.4.3
- phpMyAdmin 4.9.0.1
- wp-cli 2.2.0
- Laravel 代客 2.3.3
我一直在导出/导入wp_options表以加快解决问题所需的时间。
我尝试更改导出/导入设置,例如压缩和最大化输出兼容性,但无济于事。
在那之后,我的数据库知识相当有限。
如果我使用来自不同项目的数据库重复相同的过程,它工作正常。
我将在下面粘贴示例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
.
解决方案
一位同事注意到,如果您Enclose export in a transaction
在最初导出数据库时取消选中该选项,它会起作用。
这会让我暂时渡过难关,因为它影响的只是本地项目。
推荐阅读
- database - 在哪里可以找到 Athena 的机器可读查询日志?
- ssl - OpenSSL 无法验证从 Windows 证书存储中导出的证书
- c++ - 其他数组的回推元素
- python - 如何修复您的数据框包含的日期
- c - 用于监视子进程的 select() 的模拟?
- macos - Zsh 别名 | Mac OS - 没有这样的文件或目录但存在
- node.js - 如何使用 React Hooks 将 React.js 与后端一起使用,以及如何使用 heroku 部署它?
- node.js - 使用 http.get() 时无法绑定到 IPv6 localAddress - 错误:绑定 EINVAL
- c++ - 在地图中插入一对时,C++ 是否需要额外的代码?
- java - 飞碟不显示pdf中的图像