本文的主题将会围绕 Discuz 备份为主,连带教给大家大部分 php+mysql 程序的备份方法,介绍顺序为从虚拟主机到独立主机。
虚拟主机用户
这里虚拟主机的环境为星外 (7i24) 控制面板,其他控制面板大同小异。
第一种是最简单的备份方法,打开 discuz 的后台或者 ucenter 的后台,
点击提交备份即可,如果 ucenter 和 discuz 安装在同一空间 (主机),推荐在 ucenter 后台连带论坛+ucenter 数据一起备份,因为 discuz7.0 之后用户数据均在 ucenter 数据库中。
备份完成后会提示备份的路径,请尽快下载并在空间中删除.sql 备份文件,但是这样备份的缺点是如果论坛数据量较大的话,会产生几十个备份文件,后续整理上会很麻烦,消耗时间也非常长。另外还需要备份 ucenter 的头像目录及 discuz 的上传目录。
恢复这种数据的方法就是上传备份的.sql 文件,然后在论坛后台或者 tools.php 中恢复数据。
第二种是利用虚拟主机控制面板自带的数据库管理面板备份/还原/导入数据库功能。
然后登陆临时创建的 ftp 空间即可看到备份好的.sql 文件。下载保存即可。
恢复方法是点击后台的从备份中还原,如果转移空间了,将这个.sql 文件传到网站的根目录,将下面的代码编辑正确并另存为 import.php,执行它提示 import ok,则代表导入成功。
<? system("mysql -uroot -pmypassword database < a.sql"); print "import ok"; ?> |
§
第三种是进入 phpmyadmin 进行备份,点击数据库管理面板的高级管理即可进入。
首先在左边选择所属的数据库名称,这里是 discuz 这个数据库。
然后点击右边中间位置的导出按钮,打开导出页面。
一般来说直接拉到最下面,选择另存为文件,并选择下面压缩为 gzip 压缩,点击执行。
就会弹出提示另存为,保存即可。
恢复方法同样是登陆 phpmyadmin,点击导入。 选择这个文件。如果导出文件很大,则解压成.sql 文件,同样第二种方法末尾的办法用 php 脚本导入。
第四种,利用第三方软件进行备份。
1 、我们可以到我提供的地址下载帝国备份,然后上传到网站的一个目录下。
我们用默认的 admin 123456 来登陆,登陆后会提示去设置数据库连接的账号密码。 (数据库账号密码如果不知道的可以看 discuz 根目录的 config.inc.php)
我们可以看到我们的数据库,点击后面的备份数据。一般来说参数都不需要修改,直接拉到最下面点击开始备份即可。备份好后,可以上 ftp 将备份目录拖到本地。
恢复方法是先上传网站程序,然后上传帝国备份王,最后上传备份的数据库路径到帝国备份王目录下,恢复即可
§
2 、在我的下载页面下载 Navicat 软件
连接远程 mysql 服务器,星外用户需要在后台开启远程访问。
获取自己的 IP 可以访问 http://ip.sudu.us/
连接后同样可以看到我们的数据库。 双击数据库名称。
选择备份。然后点击创建备份。
选择开始。
我们就可以看到备份成功,这个备份取决于本地连接服务器网速。
独立主机用户
Windows 主机
第一种是同虚拟主机第四种方法,使用 Navicat 软件。
第二种使用命令性导出为.sql 文件
使用 cmd 进入 mysql 的 bin 目录,输入以下命令导出
mysqldump -u 用户名 -p 数据库名 > 导出的文件名
导入在 bin 目录下使用命令
mysql -u 用户名 –p
use 目标数据库名; source 导入的文件名; |
第三种方法是在停止 mysql 服务。直接复制 mysql data 下相应的数据,恢复直接粘贴回来即可。 (但在备份期间会中断访问)
Linux 主机 (这里以 CentOS 为例)
第一种, 停止 mysql 服务,使用 cp 命令复制 mysql 源文件至备份目录,如
cp/usr/local/mysql/var /data1/bak/20100801/mysql
cp /data1/web /data1/bak/20100801/web |
第二种,同 windows 主机第三种,使用命令导出为.sql 文件
cd/usr/local/mysql/var
mysqldump -u root -p discuz>discuz.sql |
还原方法:
cd/usr/local/mysql/var
mysql -u root -p discuz<discuz.sql |
到这里,本文已经差不多结束了,限于本人水平有限,一些小的错误在所难免,不足之处敬请谅解。