教程:HomeZZ之自助更换机房

很早就对HomeZZ的“自助更换机房”感兴趣,想尝试一把,今天终于把它给做了。刚好今天又收到cosbeta的群发邮件,他提及到:现在homezz可以自助更换机房,您可以到后台去查看并操作,但是请注意,我们的自助更换只是删除您原来的主机,同时给您在指定的机房创建新的主机,所以数据需要自己备份,搬家需要自己完成,我们稍后会有详细的搬家教程!e,我不是刚搬完家嘛,不如我来写写,为HomeZZ出点微薄之力。

一、自助更换机房的实质

1. 4J的空想主义

我最开始对这功能很感兴趣,可能是由于给它YY出一套自认为完美的流程:用户新建主机 –> 系统自动将数据库和程序从旧主机移植到新主机之上 –> 系统自动删除旧主机 –> 用户手动修改A和CName记录

2. HomeZZ的实际流程

用户手动备份数据库和程序 –> 用户驱使系统删除旧主机 –> 用户新建主机 –> 用户手动移植数据库和程序与新主机之上 –> 用户手动修改A和CName记录

3. 对4J空想主义的自我批斗

我的想法太过于天真,这样实现起来难度太大,流程也太过于复杂
,移植过程中可能会出现不可预见的疑难杂症。

二、自助更换机房前的那点事儿

1. 备份数据库

首先,进入菜单:cPanel –> 数据库 –> MySQL数据库,记录下待删除数据库名、数据库用户名和用户对应密码,例如:
数据库:vcfoujco_dbnwp
用户名:vcfoujco_dbavc4j
密码:123456

其次,进入菜单:cPanel –> 数据库 –> phpMy管理,手动备份数据库中表结构和数据,具体操作如下:


注意:名为“information_schema”的数据库为默认数据库,应该不予理睬;备份其他所有由用户自行创建的数据库;例如,上文提到的vcfoujco_dbnwp。

执行完上面的5步操作之后,会下载一个包含数据库表结构和数据的sql文件到本地;这样就完成数据库备份。

解释:按上述规则进行数据备份之后,在以后执行该SQL Script进行数据还原时,将按如下步骤进行(以一张名为t的数据表为例进行阐述):
a. 判断当前数据库中表t是否存在;如果存在,就先Drop该表;如果不存在,不做操作。
b. 判断当前数据库中表t是否存在;如果不存在,就先Create表t;如果存在,不做操作。
c. insert数据到表t中。

勾选“添加 DROP TABLE / VIEW / PROCEDURE / FUNCTION”的作用就是上述的a。如果不勾选的话,就会有隐患:一开始就进行步骤b,表t不存在倒一切正常;但如果表t已经存在,并且数据结构与原来备份时不一致,例如较之前缺少名为columndel的一列,那进行步骤c时就会出现错误,因为对应columndel字段数据无法写入当前的表t中。

勾选“添加 IF NOT EXISTS”的作用就是上述的b。如果不勾选的话,一上来,不管三七二十一,直接CREATE TABLE t,但如果表t已经存在,将会报错;而勾选的话,将会执行CREATE TABLE IF NOT EXISTS t。

所以较保险之法就是同时勾选上述两项,当然碰到具体问题还得具体分析。

2. 备份程序

进入菜单:cPanel –> 文件 –> 文件管理器,将需要备份的文件夹先压缩,然后再通过页面客户端或ftp客户端下载到本地。切忌:一定不要通过ftp客户端直接下载文件夹,因为它里面包含太多单个文件,ftp客户端会去one-by-one的进行下载,你可就惨啦。压缩示意图如下:

三、自助更换机房进行时

1. 删除当前主机

进入菜单:HomeZZ –> 我的主机 –> 详细信息 –> 改变机房,一步步走下去就完事儿;有一点需要注意一下,就是确认删除之前一定得仔细阅读注意事项,千万不要养成无视说明性文字,见到next按钮就一个劲往下点的坏习惯。

2. 新建主机

这个操作挺容易,不做过多的解释;但有一点小技巧:在选主机之前,将候选列表中的所有主机都ping一遍,哪个最快就选哪个;当然啦,不同地域访问同一主机的速度可能不一,但对于像我这样的平庸者来说,访问自己域名最频繁的当然应该是自己本人。

3. 还原数据库

首先,在新主机对应的cPanel上,新建数据库、数据库用户,当然都应与原主机数据库数据一致。其次,进入到菜单:cPanel –> 数据库 –> phpMy管理,选择待还原数据库,可以采用以下两种方法进行还原:
a. “SQL”菜单,具体步骤如下:

b. “导入”菜单,具体步骤如下:

这样数据库就还原成功,接下来就是还原程序。

4. 还原程序

这个步骤与备份程序恰好相反,即先上传压缩文件于主机的public_html目录,然后利用cPanel在线解压,这样就o啦。同样切忌:使用ftp客户端上传文件夹是一个不明智的选择。

四、自助更换机房后的那点事儿

登录域名的管理界面,例如4jplus.com域名管理界面godaddy.com,将@的A记录和www的CName记录对应的IP修改成当前主机IP即可。

Author: 四勾 4J

via 4jplus.com

Leave a Reply

Your email address will not be published. Required fields are marked *