黑帽联盟

标题: discuz!2.5两种完美搬家方法 [打印本页]

作者: yun    时间: 2017-6-22 20:50
标题: discuz!2.5两种完美搬家方法
首先第一种来自网络  本人整理了一下:

全新安装搬家法:

开始搬家前的准备工作:

备份论坛数据,后台,站长,数据库,直接第一项《Discuz!和UCenter数据》提交。

然后出现提示,备份分卷已存在在DATA文件夹下的某某目录,用FTP把整个文件夹下回来。

备份会员头像目录uc_server/data/avatar和tmp目录

备份所有门户与论坛和各应用附件和图片目录:data/attachment目录

备份static\image\common 中的logo 在线列表 郧章等等

备份插件目录:source/plugin目录(官方默认那几个不要)

到这里就搞定了。


恢复前准备工作:

1,重新在官方下载程序安装好论坛,注意:安装的时候数据包的前缀一定要与备份那个相同,可省很多麻烦。

2,小疑问:重装的时候管理员帐号和密码随便写,不用与原来相同,但数据表前缀要与原论坛相同。

3,恢复数据,把您装备份的文件夹上传到DATA目录里面,注如:backup_a331f6这样命名的目录。

4,开始恢复,后台,站长,数据表,恢复,就会看见备份的数据了,导入,OK!

5,上述恢复方法出现404错误的情况下,把安装包utility目录里的restore.php文件上传到data文件夹

6,在浏览器允许restore.php文件的绝对路径,如https://bbs.cnblackhat.com/data/restore.php 恢复ok!

7,把备份附件、图片、会员头像,直接上传到新论坛的相应目录,原来在哪的就放回哪!

8,恢复之后,用原论坛的管理员帐号和密码进入新论坛,后台,更新缓存,搞定!!!

9, UC中心的密码是新安装程序时的密码,不是原来的密码



最后如果要备份风格的,就把风格目录里的相应风格文件备份就可以了。

教大家个小技巧,备份好数据库下载到本地后,就把网站全部打包,这样下载会快很多!
===============================================================

如果UC中心应用管理通信失败会导致出现以下几种情况
1、登陆提示密码不正确或者没响应;
2、头像无法上传;
3、注册时提示用户名小于3;
4、注册后UCenter里面没有用户;
5、各应用不能同步登陆和退出;
6、UC里面提示通信失败
7、头像不显示了
8、短消息异常
9、登录后台--点击UCenter显示404或者其他错误。

通信失败一般都是UC中心和站长UC设置两个的通信密钥不一样,改成一样既可!

===============================================================



第二种方法:

帝国备份搬家法:
一、搬家前需要做的就是关闭网站,然后备份数据库,这里就不做详细说明了。

使用帝国备份王备份好数据后,然后打包自己站长的全部文件,下载到新空间。

1、打包那些文件:直接打包根目录下的全部文件,包括帝国备份王discuz搬家在内。
2、我是虚拟空间不能直接把打包下载到新空间怎么办?

可以把打包好的文件先下载到本地(自己的电脑上),然后在上传到新空间,然后再解压。如果空间不支持打包和解压,就直接把全部的文件下载到本地,然后在把全部的文件都上传到新空间。

3、我的站长数据很大,5G、10G打包太慢,或者CPU做了限制打包的时候会中断怎么办?

可以把data目录剩余下,其他目录打一个包,然后再把data里面的attachment里面的forum(论坛附件的文件夹)、album(相册附件的文件夹)和group(群组附件的文件夹)根据自己的情况分别打成几个小点的压缩包来解决。

二、所有的文件都下载到新空间后,然后把域名解析到新空间的IP,解析生效后,真正的搬家工作才开始。

进入帝国备份王,访问如:https://bbs.cnblackhat.com/cnblackhat 进入,输入用户名密码登录后,点击“参数设置”,修改下,
MYSQL版本:自动;
数据库服务器:新空间数据库地址;
数据库用户名:新空间的数据库用户名;
数据库密码:新空间数据库的密码。

配置好帝国备份王后,点击“恢复数据”进入如下页面


1、恢复数据源目录: 点击-选择目录,进入弹出框,然后选择搬家前使用帝国备份的最新备份文件夹

2、要导入的数据库:选择你要存放数据库名

最后点击开始恢复,恢复完成后数据库就已经恢复完成了。到此搬家工作就完成了一半了!(肯定有会员惊讶,啊?怎么才恢复了一半,不是都恢复了吗?现在仅仅是恢复了数据库,但配置文件里面数据库的相关信息还是你之前空间的,所以还需要修改配置文件。)

三、现在访问域名应该会提示无法连接数据库这样的错误,那下一步我们就需要修改论坛的配置文件了。

涉及到的文件:config文件下的config_global.php和config_ucenter.php还有uc_server\data下的config.inc.php 3个配置文件。

注意:尽量不要使用记事本打开编辑,尤其是论坛非GBK编码的,都会带来很多问题,推荐使用DW等专业工具。

1、打开config文件下的config_global.php文件,查找下面几个修改为新空间的数据库用户名、数据库密码、数据库名。
     $_config['db']['1']['dbuser'] = '数据库用户名';
    $_config['db']['1']['dbpw'] = '数据库密码';
    $_config['db']['1']['dbname'] = '数据库名';

2、打开config文件下的config_ucenter.php,查找下面几个修改为新空间的数据库用户名、数据库密码、数据库名。
     define('UC_DBUSER', '数据库用户名');
    define('UC_DBPW', '数据库密码');
    define('UC_DBNAME', '数据库名');
    define('UC_DBTABLEPRE', '`数据库名`.pre_ucenter_');

3、打开uc_server\data下的config.inc.php,查找下面几个修改为新空间的数据库用户名、数据库密码、数据库名。
     define('UC_DBUSER', '数据库用户名');
    define('UC_DBPW', '数据库密码');
    define('UC_DBNAME', '数据库名');

我用汉字填写的的地方都需要修改为你新空间对应的信息,如果你还安装了品牌空间等应用,也是一样的修改方法,打开品牌空间的配置文件修改成对应的数据库信息即可,到此搬家工作就全部完成了
-------------------------------------------------------------------------------------
改完收工,还是无法登陆,提示内部错误,Errno:1142
UCenter info: MySQL Query Error
SQL:SELECT value FROM [Table]vars WHERE name=’noteexists1′
Error:SELECT command denied to user ‘abc’@'localhost’ for table ‘pre_ucenter_vars’
Errno:1142
看提示是没权限访问pre_ucenter_vars这个表,没辙了,数据库权限应该都分配了。于是google.
原来还有2个地方要改 。config文件当中有一个只有表,没有数据库名。需要改成这样的格式才行。
define(‘UC_DBTABLEPRE’, ‘`数据库名`.表前缀‘);                        // 用户中心数据库表前缀






欢迎光临 黑帽联盟 (https://bbs.cnblackhat.com/) Powered by Discuz! X2.5