WordPress迁移到阿里云简记,阿里云数据库导入

阿里云

此前表弟先行开了博客,当时迟迟得不到阿里云主机免费版的码,我就建议他先在 Hostinger 先尝试建站,等机会合适了再搬回阿里云或者其他平台,赶上双 12 前,之前的免费版虚拟主机一年加网站日志分析捆绑售卖 6 块就及时给他入手了。所以这次简记是他的网站迁移,这一篇主要讲数据库导入遇到的问题。因为我在 阿里云数据库导入 从 Hostinger 导出的数据库文件时,一直报错。

遇到的问题

执行的 SQL 语句出错:

CREATE TABLE IF NOT EXISTS k13q_commentmeta (
meta_id bigint(20) unsigned NOT NULL AUTOINCREMENT,
comment_id bigint(20) unsigned NOT NULL DEFAULT ‘0’,
meta_key varchar(255) COLLATE utf8mb4
unicodeci DEFAULT NULL,
meta_value longtext COLLATE utf8mb4unicodeci,
PRIMARY KEY (meta_id),
KEY comment_id (comment_id),
KEY meta_key (meta_key(191))
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_
unicode_ci AUTOINCREMENT=1
错误信息:Unknown collation: ‘utf8mb4_unicode_ci’

过程

经过多次搜索找到了这篇文章成功将网站从 HostGator 迁移到阿里云虚拟主机,(因为我也不懂这些东西,不知道关键字该检索什么)。方法摘录过来:

用 Notepad++ 等其他编辑工具打开导出的数据库 .sql 文件,

  • 找到 CHARSET=utf8mb4 全部替换成 CHARSET=utf8 ;
  • 找到 COLLATE=utf8mb4_unicode_ci 全部替换为 COLLATE=utf8_general_ci ;
  • 找到 utf8mb4_unicode_ci 都替换为 utf8_general_ci ;

替换成功后保存,再导入数据库,即可。

我对着过程尝试了一下,还是失败,之前是导入 6% 失败,现在是 12% ,那就是不彻底咯,还有什么东西教程里没提到,估计是有些东西升级更新了。

接着往下翻:

打开 phpmyadmin 后台,其实问题就是出现在默认页上面,在  MySQL 连接校对 (有些 phpmyadmin 后台上面显示的是 服务器连接排序规则)上面需要选择正确编码, 这就是为什么我今天早上将过去在 HG 上面备份的数据库尝试导入阿里云的数据库后台的时候发现成功导入,在用现在的数据库导入就是导入不进去,后来我登录 HG 的 phpmyadmin ,发现问题就是 服务器连接排序规则 这里没有选择  utf8_general_ci ,而是选择了阿里云不支持的  utf8mb4_unicode_ci  :

我摸索一下在 Hostinger 的 phpmyadmin 找到了这一项,我本来以为是在导出的时候选择 utf8_general_ci ,后来发现不是的。

解决过程

  1. 登录 Hostinger (或者你的主机提供商),然后登录你的数据库,打开 phpmyadmin ;阿里云数据库导入1-登入phpmyadmin
  2. phpmyadmin 后台有一个标签“操作”,有一个标签卡是“整理”或者“服务器连接排序规则”,选择 utf8_general_ci ,然后执行,很快就会提示改好了;选择 utf8_general_ci
  3. 在“导出”标签里,导出方式一项点“自定义”,往下翻页到“格式特定选项”的“最大程度兼容数据库系统或旧版本的 MySQL 服务器”选择 “MYSQL40”,翻到下面“执行”就导出了;导出sqlsumpeter-20161212_114210
  4. 在阿里云的数据库管理里导入这个就行了(阿里云导入数据库文件最大支持 100MB )。

现在就等备案结束,看看迁移的结果怎么样了,因为通过测试域名打开网页显示有些不正常,好像网页样式都没加载。

发表评论

电子邮件地址不会被公开。 必填项已用*标注