特别注意:以下数据库恢复过程适用于宏博cms0.9.8以下版本,操作复杂,需要较多数据库操作经验。
如果您不具备相应的经验,请先将HBcms版本升级到0.9.8或更高版本
HBcms 0.9.8版或更高版本的数据库恢复教程: 如何恢复数据库?HBcms数据库恢复步骤
如何备份恢复HBCMS?A服务器迁移到B服务器,如果都有超级管理员的权限,那么就直接COPY文件和数据库就可以了。
如果没有任何权限,怎么做呢?
- 备份数据库:在 A服务器 使用phpmyadmin导出数据库(参考文档:安装phpmyadmin ) hbcms.sql.gz
登陆phpmyadmin后,先点击数据库名称(不是表名称),然后点击页面顶部的 导出 连接,如下图
建议选中导出类型为replace,另存为文件,选中gzip压缩)
- 备份上传的文件:将 A服务器 中的upload目录使用FTP下载回来(里面有上传的文件),如果你还修改了模板,请也备份模板目录,template
- 开始恢复操作:在 B服务器 中安装最新的 hbcms(请使用不同的数据库表前缀),参考文档:安装phpmyadmin
- 上传sql文件:将 备份的 hbcms.sql.gz 和 upload目录 上传到 B服务器 然后在线解压(如果不能在线解压,请本地解压,然后上传sql文件) 参考文档: 增加了在线解压的功能,支持 zip,tar,tgz等压缩格式
- 将sql文件导入数据库:使用hbcms的 导入sql文件(在解压后的目录里) 导入hbcms.sql 。参考文档:增加导入超过200M的SQL文件的功能
- 修改导入的数据库的参数:使用 Phpmyadmin更改 旧的(刚刚恢复的)cofig 表中 cfg_name 字段中包含有 db1 的数据库参数,如新的数据库名称,用户名,密码
- 在phpmyadmin的左边数据库表中,点击config表,如下图:
- 在打开的config表结构页面里,点击页面顶部的 搜索 连接
- 搜索cfg_name 字段中包含有 db1 的数据库参数,如下图:
注意,要选 like %...%,然后输入 db1
- 选中数据库名称,用户名,密码,点击 编辑图片(一个铅笔),如下图:
- 输入新的数据库名称,用户名,密码,如下图(点击看大图, 只需要修改cfg_val参数的值即可):
- 从0.9.6版开始,宏博cms将系统的绝对路径都缓存在配置文件中了,这样可以加快系统的运行速度。因此,迁移数据库的时候,还需要修改数据库里保持的服务器绝对路径。方法:
搜索cfg_name 字段中包含有 root 的数据库参数(方法同上),删除如下3个记录:
admin.cms_dir、admin.root 、admin.vhost_root
你也可以在sql操作页面里,咨询sql语句:DELETE FROM `hbcms_config` WHERE `cfg_name` = 'admin.root.' OR `cfg_name` = 'admin.vhost_root.' OR `cfg_name` = 'admin.cms_dir.'
- phpmyadmin的操作完成
- 更新配置文件,让系统读取刚才恢复的数据库:进入hbcms后台,修改 系统配置,将 数据库参数 中各个参数都修改成和刚才phpmyadmin中对应的值。保存前要特别小心,以免参数错误导致无法进入系统。建议修改前,先备份 hbcms安装目录/include/config.inc.php 文件,如果修改后不能进入系统,请恢复此文件。如果保存后页面还能正常打开,表示参数正确,请再保存1次。
- 数据库恢复完成:数据库迁移完成,查看文章数据是否已经都显示出来。
- 在 栏目批量管理 页,选择 将常用数据导入到配置文件 ,重新导入常用数据。检查模板和自定义标记。
- 重新生成栏目和文章的静态页
- 大功告成