Joomla - 将 sql 数据库导入新服务器导致错误

Joomla - Importing sql database to new server results to error

我想移动一个在Joomla 3.5.1中构建的网站到一个新服务器。在新服务器上买了 domain/space,我备份了旧服务器上的 database/files。

我通过 ftp 将文件传输到新服务器,然后打开 phpmyadmin 导入 .sql 文件。问题是上传后,我收到以下错误:

SQL查询:

CREATE TABLE `jos_assets` (
  `id` int(10) UNSIGNED NOT NULL COMMENT 'Primary Key',
  `parent_id` int(11) NOT NULL DEFAULT '0'COMMENT AS `Nested set parent.`,
  `lft` int(11) NOT NULL DEFAULT '0'COMMENT AS `Nested set lft.`,
  `rgt` int(11) NOT NULL DEFAULT '0'COMMENT AS `Nested set rgt.`,
  `level` int(10) UNSIGNED NOT NULL COMMENT 'The cached level in the nested tree.',
  `name` varchar(50) COLLATE utf8_unicode_ci NOT NULL COMMENT 'The unique name for the asset.\n',
  `title` varchar(100) COLLATE utf8_unicode_ci NOT NULL COMMENT 'The descriptive title for the asset.',
  `rules` varchar(5120) COLLATE utf8_unicode_ci NOT NULL COMMENT 'JSON encoded access control.'
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci

MySQL 说:文档

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'AS `Nested set parent.`, `lft` int(11) NOT NULL DEFAULT '0'COMMENT AS `Nested ' at line 3

尝试对 sql 导入文件进行一些编辑,但没有成功。有人知道怎么解决吗?

关键字 COMMENT:

缺少空格
'0'COMMENT

应该是

'0' COMMENT

这里出现了三个错误,我敢打赌您可能会发现更多错误,您可以通过简单的 find/replace (sed) 来修复这些错误;

最重要的是,您应该尝试获得一个新的备份:可能这些可能是 linux 行结尾在与 windows 的双重转换中被修剪?您可以在源服务器上压缩/gzip sql 转储并在目标服务器上展开,以保证行结束完整性;或者对于 ftp 传输选择二进制模式。