博客搬家问题二则

自从花了300多元巨资撸了良心云6年服务器后,一直把博客放在那边,甚至申请了新域名专门进行了备案。但使用过程中由于小鸡带宽比较尴尬,挂良心云免费CDN又遇到几次因为缓存引起的问题,最后还是觉得跑出来换个主流配置的机器比较靠谱。这次在搬博客过程中,发现两处问题,分别是数据库转为InnoDB类型以及php7.3引起的一个报错,在此记录一下。

首先是数据库,像我博客这种小站,网站迁移必然会动数据库。这次我的方式是在新机器上全新安装一个WordPress,然后导出老机器上的数据库再导入新机,而以前是把老机器那边的网站文件和数据库一起打包直接放到新机器上。这个动作的差别,就导致了一点不同,我发现全新版本的WordPress默认的数据库表类型为InnoDB,如下图:

而我老机器上的数据库类型是MyISAM,如下图:

搜了一下两者的区别,很显然,WordPress更适合用InnoDB。如果是以前通过老版本建站的话,会很难注意到这个变化,毕竟平时升级程序版本不会变更数据库。既然我发现了这个问题,就趁这个机会直接改了,也很简单,SQL里面打命令:

ALTER TABLE `XXXX` ENGINE = INNODB;

其中XXXX是数据库的表名,也就是说需要挨个打一下,执行之后就会发现以前数据库的类型全部变成了InnoDB了,如下图:

现在老机器上的数据库和全新安装WordPress保持了一致,然后再导出导入就没问题了。

解决了一个问题,还有另外一个小问题,在phpMyAdmin中导出的时候,打开页面就遇到一个报错,内容为:

“continue” targeting switch is equivalent to “break”. Did you mean to use “continue 2”?

查了一下,这是因为php7.3引起的一个bug,但是很奇怪同样版本的新机器就没有遇到,不过既然出现那就正好一起解决咯。根据报错找到相关文件phpMyAdmin安装目录下vendor/tecnickcom/tcpdf/tcpdf.php,其中的报错代码在17786行,把continue改成break即可。

虽然已经多次迁移博客网站,不过每次似乎都会遇到一点新的问题,所以虽然能学到新的东西,但如果不是特别必要,还是不要没事就迁移搬家的好呀。

共有 1 条评论

发表评论

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