WordPress:将 MySQL 数据库导入 MariaDB

Posted

技术标签:

【中文标题】WordPress:将 MySQL 数据库导入 MariaDB【英文标题】:WordPress: Import MySQL database to MariaDB 【发布时间】:2017-08-07 20:10:17 【问题描述】:

我想使用 phpMyAdmin 在新服务器上导入 mysql 转储(从 phpMyAdmin 导出)。新服务器在 MariaDB 上运行,每次导入都会跳过并显示错误消息。

MySQL 版本为:5.5.52-log MariaDB 版本为:10.1.21-MariaDB-1~trusty

错误消息是#1064。来自文档:

Error: 1064 SQLSTATE: 42000 (ER_PARSE_ERROR)
Message: %s near '%s' at line %d

还有很多关于“未初始化的字符串偏移”的通知。

有什么想法吗?

前 20 行:

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";

/*!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 utf8 */;


CREATE TABLE IF NOT EXISTS `wp_commentmeta` (
`meta_id` bigint(20) unsigned NOT NULL,
  `comment_id` bigint(20) unsigned NOT NULL DEFAULT '0',
  `meta_key` varchar(255) DEFAULT NULL,
  `meta_value` longtext
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

【问题讨论】:

显示文件的前 20 行。您使用哪个 MySQL 版本来创建转储 见上面的行 让我们从运行代码而不是从文档中查看 1064。 我可以解决,请看下面我的回答 【参考方案1】:

这有点工作。删除评论中的所有 Backticks,如下所示:

来自

--
-- Dumping data for table `yourTable` 
--

--
-- Dumping data for table yourTable 
--

或删除行

【讨论】:

只有这个吗?有没有办法在导出中删除这些行? Linux?使用这个: $ grep -v "^--- " orgdump.sql >newdump.sql 将删除所有以 "--- " 开头的行 我在没有 cmets 的情况下导出但错误仍然存​​在 您能否刷新转储文件的顶部行。 这看起来很棒,也适用于我的服务器。如果里面没有秘密,您可以将其压缩并通过电子邮件发送给我,我会为您修复它【参考方案2】:

我可以通过删除 cmets 和以下行来解决它:

/*!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 utf8 */;

感谢 Bernd Buffen 的提示!

【讨论】:

以上是关于WordPress:将 MySQL 数据库导入 MariaDB的主要内容,如果未能解决你的问题,请参考以下文章

将 wordpress 元数据导入并转换为 ACF 转发器字段

MySQL数据库导入成功但不起作用

将数据库导入mysql导致表中有0行

wordpress导入数据错误MySQL返回:#1273 – Unknown collation:’utf8mb4_unicode_ci’

可怕的 MySQL 导入编码问题 - 重新审视

如何将导出的mysql数据库文件划分为零件并导入数据库?