discuz x3搬家教程

方法一

一直就想写这么个教程,因为在这方面吃亏过5次,深刻体会到那种网站完蛋后的痛苦与凄凉,所以专门研究了备份恢复及搬家,至于此教程是否看了就会,偶不敢保证,但对于刚刚使用或已经使用了的人来说,这都是最重要的一步,网站数据就是一切。

下面步入前言

偶是从2月27日开始使用x2.5rc的,之前米有使用过任何dz产品,在本地和空间的支持下,学习3天之后,就开始在空间安装了程序,网站就此开展,到了3月3日,网站已经基本成型,偶当时非常开心,虽然还是不很熟练,至3月27日,偶觉得网站文章有一定数量,需要备份了,哪知道就在这个时候,出了问题,偶的网站因为备份恢复失败,直接报销掉,这是第一回完蛋,当时在多方面求助无果情况下,自己在本地强行用phpmyadmin将不完整的数据库导入进去,首页打不开,直接文章地址打不开,只有后台能够看到文章和编辑,整整2天1夜米有睡觉,终于重新在空间安装了程序并手工发了全部文章。第二次是4月20日左右,同样是备份恢复失败,当时偶是网站发一个文章,就在本地发一个文章,所以同样也花了1天1夜手工恢复了。第三次是仅过1天,网站再次因为备份恢复失败。偶在只睡了7个小时的情况下,又傲战1天1夜。第四次是5月30日,这回是2天2夜,因为偶一直在本地建立了同样的文章。最后一次是6月10日-15日,这期间是10日备份无法恢复,因为备份数据库不完整,恢复之后帖子一个也打不开也不能编辑,后台根本就米得帖子。于是弄了3个临时空间,加上本地和空间,一共是4个空间 + 本地,下定决心学会备份和恢复。指导思想是不再问任何人,不再看任何教程,因为那么米有具体怎么操作,更米有最新版本的详细教程,偶就自己试验,这回总算决心 + 经验战胜了困难,成功恢复了网站。这期间历时27天之长,恢复备份次数达到30+以上,所以已经可以保证备份恢复成功率99%以上。

下面步入正文

偶的具体方法这里列出来:
一、下载最新dzx2.5(当前是0701),上传至临时1空间安装(其中Uleft一律全新安装)程序之后,发些文章或帖子,然后进入Uleft – 数据备份 提交开始备份,备份完成之后检查 data\backup_120703_AxsOJr 类似这样以日期命名的数据库备份,看里面备份的数量及大小,如果有好几个或10个以上,再看大小,至少米个要大于1.4M(理论上),那么这就是备份完整,如果备份的数据库中间有1个或2个非常小,比方只有1.1M或根本不到1M,可以100%肯定,这是备份不完整,若用这样的备份来恢复数据库,注定失败,将导致不可预期的结果,比方帖子全部打不开,或只有少量帖子,或栏目错位等,因为这些问题偶都遇到过,还专门试验了为什么会这样。

二、将临时1空间的网站根目录全部用FTP下载到本地,然后拷到本地环境里面,再将最新dzx2.5 upload目录下面全部文件进行覆盖,之后删除掉 install.lock 这个文件,访问 http://localhost/install/目录进行程序安装。

三、安装成功后进入 Uleft,检查下 应用管理 看通信是否成功,可以多点几次,因为有时候即使正确也因为网速延时而显示失败,再检查下数据库尺寸和附件尺寸,如果确认安装的程序无问题,就可以开始数据恢复了。具体方法:Uleft – 数据备份 – 数据恢复 – 点击你的备份,选择导入(uleft 和 discuz 都需要勾选),然后提交,点击两个确定。之后就等待数据库慢慢一个个地导入,直到成功恢复。

001

002

四、点击应用管理,这时候一定是通信失败,但不排除也有成功的,但那是假成功,因为临时1空间的数据库备份了,转到本地进行恢复,地址都不一样了,若还是显示通信成功,那绝对是主域名或其它空间的成功,根本不是本地的成功,这种情况下新手难以判断,所以最好恢复的时候,把网直接断了,这样比较安全。显示失败之后,点击站长,这时候便直接退出到登陆页面,需要重新输入用户名和密码,进去后 站长 – Uenter设置,把里面的密钥复制一下,然后点击 Uleft – 应用管理 – 编辑它并将密钥粘贴到相应地方,再复制当前域名,例如:http://localhost 类似这样的,替换之前临时1空间的域名,回车或确定即可。然后点击 更新缓存,2个都勾上。再点击 工具 – 更新缓存,最后的 diy也勾上,之后点击应用管理,检查下通信是否成功,点击工具 – 数据库 检查下数据库是否完整。都米得问题,就直接点击站点首页,多刷新几次看看,点几个帖子或文章,看打得开不,若一切正常,则搬家成功。

003

004

005

006

007

008

 

五、最后这几步是重复之前的1-4个步骤,方法都一样,只是从 临时1空间 – 本地 – 到 临时2空间 – 本地 -临时3空间 – 本地 – 正式空间 – 本地,这个过程花费时间相当长,可能最少需要近5天,因为网站搬家可不是1个小时就能够完成的。如果重复达到数十次的频率,偶都花了快大半个月。这个过程需要准确,同样一件事情,如果反复去做,可能中间就会出现某些意外,而导致同样的事情第一次成功,第二次就失败,这个需要耐心和决心。

009

010

011

012

 

六、这里还要提一点,就是备份数据库数据库会出现不完整,不完整的数据库是无法恢复成功的,因为备份本身都坏掉了,还怎么恢复。那么怎么办,如果你只有一个网站,本地或临时空间都米得,而且你恰恰遇到偶类似的情况,那么这个时候不要急,不要恢复,因为一旦做了网站就会因为关闭,并且无法再恢复。这个时候检查你的帖子或文章,因为就偶的经验是那种翻译文章造成的,比方一篇帖子很长,里面还有代码,但使用了谷歌或其它软件翻译之后,代码里面更是中英文夹杂,或者根本就是鸟词,或者其它国家的语言,这时候发布文章就足够导致发帖失败,如果比较大的空间商可能会成功,因为它们的 mysql 数据库空错能力非常强,比方万网或阿里云的 windows 2008 rc2系统的空间,它们的 mysql 5版本容错能力确实很强。这样发了帖子跟文章之后,就会出现备份不完整的情况,一般正常备份下数据库只有最后一个会小于 1M的,备份不完整则其它1 – 几个小于 1M ,所以遇到这种特殊情况你就查找你发过的全部帖子,一个个找,找到就更改或删除,然后再进行备份数据库,检查备份是否完整,之后还是应用选择本地环境并断网恢复数据,这样做是非常安全的。但为了网站能够安全保存数据,再辛苦也值得。

唠叨了这么多文字,也不想再打了,dzx2.5能够在线升级,但数据库备份这块确实不强,所以大家应该把这个学会,对于今后使用这个系统还是有帮助的。至少偶现在根本无需担心网站完蛋,因为至少偶目前有4个相同备份,不可能同时完蛋,

发2个地址:临时2空间(不能伪静态) http://flashcc.web-131.com 正式空间(万网g5):http://html6game.com
剩下还有2个淘宝香港的空间,就不发了,偶本地和另一台电脑里也有。有条件建议直接备份网站根目录 + mysql\data/整个目录,这样直接复制就能够恢复网站,虚拟空间就是偶的方法,搬家、备份恢复都可以。数据库远程本机都可以。

至此教程写完了,大家觉得实用就帮顶。

 

方法二

虽然现在偶早已经学会备份和恢复,但还是米有办法把数据和程序分离,因为最近折腾,把网站程序弄坏了,速度有时候很卡,所以今天下决心要让网站还原到初始安装程序状态,但数据一定要是备份还原的,就是说数据不能有任何变动,但网站程序一定要是初始安装的那样,这个要求有点高,所以希望大家能够帮助偶共同完成,偶现在只找到几个目录,因为米回 2.5 的升级变动都有,或增加文件或变动部分目录,所以这次备份一定要具体目录,要把程序和目录完全分离出来,这样才能最终还原网站,希望官方的人也能给予一定帮助,偶先本地做试验,尽量把目录整理出来,这个帖子后面还会增加内容的,希望最终形成一个备份的详细教程。
终于努力不负有心人,偶在本地折腾了6个小时,成功的把网站还原了 5 次,得出还原教程一套。目的在恢复数据的同时,还能还你一个初始程序状态的网站,让网站如同刚刚安装的网站。

下面说具体步骤和方法。

还原网站默认程序方法

一、
1、进入网站后台 全局 – 关闭站点: 是

2、站长 – 数据库 – 优化 优化你的数据库表,然后校验 ,看数据库是否正确

3、备份网站数据库
data/backup_120812_4d3a2l 类似这样的,备份之后请检查备份是否完整,大小是否正常,如果不完整,将无法还原网站
uc_server/data/backup/backup_120818_X2cAKC

4、备份网站文件(以根目录为准,/指整个目录,文件名指具体文件)
data/ //网站附件、diy模板、伪静态页和一些缓存数据
static/image/common/logo.png //网站logo
static/image/common/logo_88_31.gif //网站logo小尺寸
static/image/common/logo_sc.png //网站logo搜索
static/image/common/logo_sc_s.png //网站logo搜索小尺寸
static/image/common/watermark.gif //上传图片水印mark
static/image/common/watermark.png //上传图片水印mark
template/ //模板
source/plugin/ //插件
uc_server/data/avatar/ //会员图像
web.config或php.ini //网站伪静态配置文件,可能还有种
favicon.ico //网站标题处站标

二、
1、下载最新discuz x2.5程序

2、解压到网站根目录

三、
1、将
data/
static/image/common/logo.png
static/image/common/logo_88_31.gif
static/image/common/logo_sc.png
static/image/common/logo_sc_s.png
static/image/common/watermark.gif
static/image/common/watermark.png
template/
source/plugin/
uc_server/data/avatar/
web.config或php.ini
favicon.ico
这些目录复制到网站根目录/ 或 你的网站安装目录/ 进行全部覆盖

2、删除 data/install.lock 文件

3、用浏览器打开 网站根目录/ 或 你的网站安装目录/install/ 进行网站安装

四、
1、安装成功后是默认网站,进入后台管理 Uleft – 数据备份 – 提交 进行数据库备份

2、找到你刚刚备份的数据库,进入到 data/你备份的数据库目录/删除数据库文件 uc_server/data/backup/你备份的数据库目录/删除数据库文件

3、将之前备份的数据库文件复制到 data/你备份的数据库目录/ uc_server/data/backup/你备份的数据库目录/ 的里面

4、刷新一次后台, Uleft – 数据恢复 – 点你的数据库 – 将 Uleft 和 Discuz! Board 都选中 – 提交 进行数据库还原

5、刷新一次,会自动退出,用你安装的用户和密码重新登入后台

6、站长 – Uleft 设置 – Uleft 通信密钥: 进行复制

7、Uleft – 应用管理 – 编辑 – 应用的主 URL: 修改为你当前的 域名或地址

8、Uleft – 应用管理 – 编辑 – 通信密钥: 修改为你刚刚复制的 通信密钥

9、点击 应用管理,连续点击几次,看通信是否正常

10、更新缓存 – 勾选 更新模板缓存 ,提交

11、工具 勾选 DIY 模块分类缓存 ,提交

12、文件校验 – 开始 ,校验文件是否和你之前网站一样

13、站长 – 数据库 – 优化 优化你的数据库表,然后校验 ,看数据库是否正确

14、全局 – 关闭站点: 否

15、首页 – 当前附件尺寸 点击详情,看数据库是否正常

16、刷新首页1次。

以上全部完成之后,网站就能够恢复初始程序状态和你原来的全部数据

 

方法三

一、
1、进入网站后台 全局 – 关闭站点: 是

2、站长 – 数据库 – 优化 优化你的数据库表,然后校验 ,看数据库是否正确

3、备份网站数据库
data/backup_120812_4d3a2l 类似这样的,备份之后请检查备份是否完整,大小是否正常,如果不完整,将无法还原网站
uc_server/data/backup/backup_120818_X2cAKC

4、备份网站根目录全部文件

二、
1、将以下文件
data/ 整个目录(但要删除 cache/ 、sysdata/ 这两个目录,install.lock 文件)
source/plugin/ 整个目录(但要删除 index.htm 文件)
static/image/common/logo.png
static/image/common/logo_88_31.gif
static/image/common/logo_sc.png
static/image/common/logo_sc_s.png
static/image/common/watermark.gif
static/image/common/watermark.png
template/ 整个目录(但要删除 index.htm)。
uc_server/data/backup/ 目录下面类似 backup_120923_Ja78UV
备份到一个文件夹里,例如:配置文件/

三、
1、下载最新的 discuz x2.5程序,成功安装网站

2、将 配置文件/ 复制到网站(刚刚你安装的网站)根目录进行覆盖

3、进入网站后台

4、刷新一次后台, Uleft – 数据恢复 – 点你的数据库 – 将 Uleft 和 Discuz! Board 都选中 – 提交 进行数据库还原

5、刷新一次,会自动退出,用你安装的用户和密码重新登入后台

6、站长 – Uleft 设置 – Uleft 通信密钥: 进行复制

7、Uleft – 应用管理 – 编辑 – 应用的主 URL: 修改为你当前的 域名或地址

8、Uleft – 应用管理 – 编辑 – 通信密钥: 修改为你刚刚复制的 通信密钥

9、点击 应用管理,连续点击几次,看通信是否正常

10、更新缓存 – 勾选 更新模板缓存 ,提交

11、工具 勾选 DIY 模块分类缓存 ,提交

12、文件校验 – 开始 ,校验文件是否和你之前网站一样

13、站长 – 数据库 – 优化 优化你的数据库表,然后校验 ,看数据库是否正确

14、全局 – 关闭站点: 否

15、首页 – 当前附件尺寸 点击详情,看数据库是否正常

16、刷新首页1次。

以上全部完成之后,网站就能够恢复初始程序状态和你原来的全部数据

 

方法四

一、对于独立主机或云主机、VPS等用户,这个就最简单了,复制你网站根目录全部文件,然后找到 mysql数据库存放目录(windows 2003一般就在你安装的 mysql目录 data下面,2008/2008 r2/2012一般在 C:\ProgramData\MySQL\MySQL Server 5.5\data\),记住,只需要复制你的 discuz数据库,不需要整个data,如果默认安装就是 ultrax,复制前请关闭 mysql,windows主机使用 Ctrl + r 输入 cmd,回车,然后输入 net stop mysql 回车,这时再复制数据库,复制完成后,输入 net start mysql 或 net start,前一个命令是启动 mysql,后一个是启动所有 windows自启动服务。

二、将复制的网站根目录文件,拷贝至你新主机或 VPS网站根目录,将数据库 data\ultrax\目录,拷贝至你数据库存放目录 C:\ProgramData\MySQL\MySQL Server 5.5\data\目录下面,修改 3个数据库配置文件:

config\config_global.php
config\config_uleft.php
uc_server\data\config.inc.php

修改其中数据库地址,数据库名、用户名和密码等,然后登陆网站后台,在 Uleft更新缓存,至此搬家完成。

 

方法五

一、独立主机,备份mysql/mariadb数据库 C:\Program Files\MariaDB 10.0\data\ultrax\ ,ultrax是数据库文件夹,因为discuz是MyISAM表,所以只备份数据库文件夹就可以。虚拟空间,参照之前虚拟空间备份方法。

二、备份附件,data\attachment\forum\201306\ ,attachment是附件文件夹,下面有 forum(论坛帖子),portal(门户文章)、album(相册)、group(群组)等文件夹,如果网站经常更新,那么直接备份整个data\attachment\ 文件夹,如果能够确定哪些是新加的附件,也可以按当月或当天来备份,这样能够少备份许多文件,减少备份所需时间。

三、UCenter备份,uc_server\data\avatar\ ,uc_server\data\backup\ 只用备份这2个文件夹。

四、插件备份,source\plugin\ 备份这个文件夹或备份除默认自带插件之外的新装插件,需要知道哪些是默认和新装的。

对网站要求高的人可以学习此教程。但本教程不适用自制模板和二次开发或修改较大的discuz x2.5网站,那个需要视具体情况而定

对于要还原全部的二次开发或大量修改模板的网站,请回到本帖子最上面,详见 方法一。

因为此教程未贴一张图片,怕有的人说偶乱写,所以只能将自己域名(html6game.com)奉上,偶写的教程都是试验 5 – 20 次的,并且在 3 – 4个空间和本地进行过的,所以正确率应该在95%以上。

教程写的不好,但目前这也是最详细的 x2.5 x3还原教程,希望大家支持。