第一部分:恢复前的准备工作
在开始任何操作之前,请务必做好准备工作,这可以最大程度地避免二次损坏。

(图片来源网络,侵删)
-
备份当前状态(非常重要!)
- 为什么? 如果你恢复的是一个被攻击或包含错误数据的旧备份,直接覆盖可能会导致网站完全瘫痪,备份当前数据库是为了在恢复失败时,有一个可以回退的“安全网”。
- 如何操作?
- 登录你的网站主机控制面板(如 cPanel, Plesk, 宝塔面板等)。
- 找到数据库管理工具(如 phpMyAdmin)。
- 选择你的织梦数据库。
- 点击“导出”(Export)。
- 选择“快速”(Quick)导出格式,格式选“SQL”。
- 下载这个
.sql文件到你的电脑上,并妥善保存。
-
获取正确的数据库备份文件
- 这个文件应该是你之前备份的、干净的、你希望恢复到的那个版本。
- 来源:
- 本地备份: 你自己之前通过织梦后台或手动导出的
.sql文件。 - 主机商提供的备份: 一些虚拟主机或云服务商会提供数据库的定期自动备份,你可以从后台下载。
- 服务器迁移前的备份: 如果你是在迁移服务器,这个备份应该是从旧服务器上获取的。
- 本地备份: 你自己之前通过织梦后台或手动导出的
-
确认数据库连接信息
- 你需要知道织梦网站连接数据库的详细信息,这些信息在
/data/common.inc.php文件中。 - 用FTP或文件管理器登录网站,打开
/data/common.inc.php文件。 - 记录下以下四项内容:
//数据库连接信息 $cfg_dbhost = 'localhost'; // 数据库主机地址 $cfg_dbname = 'your_database_name'; // 数据库名称 $cfg_dbuser = 'your_database_user'; // 数据库用户名 $cfg_dbpwd = 'your_database_password'; // 数据库密码
- 如果这个文件丢失或损坏,你需要从主机商处获取这些信息。
- 你需要知道织梦网站连接数据库的详细信息,这些信息在
第二部分:数据库恢复方法
根据你的环境和备份文件的大小,可以选择以下几种方法。

(图片来源网络,侵删)
使用 phpMyAdmin(最常用,适合中小型数据库)
这是最通用、最简单的方法,几乎所有虚拟主机都提供。
-
登录 phpMyAdmin
在你的主机控制面板中找到 phpMyAdmin 并点击进入。
-
选择目标数据库
(图片来源网络,侵删)在左侧的数据库列表中,点击你的织梦数据库名称。
-
清空现有表(强烈推荐)
- 为了避免数据冲突,最好先清空数据库中的所有表,如果你确信备份是完整的并且可以覆盖,可以跳过此步,但清空是更安全的做法。
- 在右侧表列表上方,勾选“全选”。
- 在下拉菜单中选择“删除”(Drop)。
- 点击“执行”(Go),这会删除数据库中的所有表,但保留数据库本身。
-
导入备份文件
- 在 phpMyAdmin 的顶部菜单栏,点击“导入”(Import)。
- 点击“选择文件”(Choose File),然后选择你准备好的
.sql备份文件。 - 重要提示:
- 如果你的
.sql文件很大(超过几十MB),phpMyAdmin 可能会因为上传限制而失败,这时你需要使用方法二或方法三。 - 通常保持默认设置即可。
- 如果你的
- 点击“执行”(Go)。
-
验证结果
- 导入完成后,左侧数据库列表下会显示出所有的表,检查表的数量和名称是否与备份一致。
- 访问你的网站,看看是否恢复正常。
使用 SSH 命令行(适合大型数据库或 phpMyAdmin 上传失败的情况)
如果你使用的是云服务器(如阿里云ECS、腾讯云CVM、Vultr、DigitalOcean等)并且有SSH访问权限,这是最高效的方法。
-
登录服务器
使用SSH工具(如 PuTTY, MobaXterm, 或终端)登录到你的服务器。
-
找到备份文件
- 使用
ls和cd命令导航到你的备份文件所在的目录,如果文件在/home/username/backup/目录下:cd /home/username/backup/ ls -l
- 使用
-
登录 MySQL/MariaDB
- 输入以下命令,将
your_db_user,your_db_password,your_database_name替换为你的实际信息:mysql -u your_db_user -p your_database_name
- 系统会提示你输入数据库密码。
- 输入以下命令,将
-
执行恢复命令
- 进入MySQL命令行后,输入以下命令,将
backup_file.sql替换为你的备份文件名:source /home/username/backup/backup_file.sql;
- 按下回车,恢复过程将开始,这个过程可能需要一些时间,具体取决于数据库大小和服务器性能,你不会看到进度条,只需耐心等待。
- 进入MySQL命令行后,输入以下命令,将
-
完成并退出
- 当命令行再次出现
mysql>提示符时,说明恢复已完成。 - 输入
exit;退出MySQL。
- 当命令行再次出现
使用主机商的“数据库恢复”功能
一些主机商(如 cPanel, Plesk)提供了专门的数据库恢复功能,这通常比 phpMyAdmin 的导入更可靠,特别是对于大文件。
- 登录主机控制面板
- 找到数据库恢复工具
- cPanel: 通常在 “数据库” (Databases) 部分,名为 “恢复数据库备份” (Restore MySQL Database)。
- 宝塔面板: 在“数据库”页面,找到你的数据库,点击“管理”或“导入”,可能会有上传文件或执行SQL的选项。
- 选择备份文件并执行
按照界面提示,选择你之前上传到主机的备份文件,然后点击“恢复”或“执行”。
第三部分:恢复后的关键步骤
数据库恢复后,网站可能仍然无法正常访问,因为织梦的缓存和配置可能存在不一致。
-
更新
/data/common.inc.php文件- 如果你是在迁移服务器,数据库信息(主机、用户名、密码、数据库名)很可能已经改变。
- 用FTP打开
/data/common.inc.php文件,务必将其中的数据库连接信息更新为新服务器的正确信息,这是最常见导致网站无法访问的原因。
-
清除所有缓存
- 织梦有非常多的缓存文件,不清除它们会导致网站显示异常。
- 通过FTP删除以下目录中的所有内容(保留目录本身):
/data/cache//data/session//data/tplcache/
- 通过FTP删除以下目录中的
index.html文件(如果存在):- (网站根目录)
/a/(文章栏目页)/special/(专题页面)- 所有栏目目录
-
重新生成网站
- 登录织梦后台。
- 进入“系统” -> “一键更新网站”。
- 勾选所有选项(包括“主页HTML”、“栏目HTML”、“文档HTML”等),然后点击“开始执行”,这一步会重新生成所有静态页面,确保网站内容正确显示。
-
检查网站功能
- 浏览网站的首页、栏目页、文章详情页。
- 尝试发布一篇新文章,看后台是否能正常保存和前台是否能正常显示。
- 检查会员、评论等功能是否正常。
常见问题与解决方案
-
问题: 恢复后网站打开空白或显示500错误。
- 解决: 99%的情况是
/data/common.inc.php文件中的数据库信息不正确,请仔细检查并更新,其次是文件权限问题,确保/data目录及其下所有文件的权限为 755 或 777(777有安全风险,建议用755)。
- 解决: 99%的情况是
-
问题: 恢复后,网站内容是旧的,但后台显示最新内容。
- 解决: 这是因为前台缓存没有清除,请按照“第三部分”的步骤,彻底清除所有缓存目录下的文件。
-
问题: phpMyAdmin 导入失败,提示“文件过大”。
- 解决: 使用方法二(SSH命令行)或方法三(主机商工具),如果SSH也无法使用,可以尝试将大的
.sql文件分割成小文件,然后分批导入。
- 解决: 使用方法二(SSH命令行)或方法三(主机商工具),如果SSH也无法使用,可以尝试将大的
-
问题: 恢复后,网站后台登录不了。
- 解决:
- 检查
/data/admincatelog.txt文件中的后台目录名是否被修改过,确保访问地址正确。 - 清除
/data/cache/目录下的缓存文件。 - 检查数据库中的
dede_admin表是否存在,管理员用户数据是否正确。
- 检查
- 解决:
希望这份详细的指南能帮助你成功恢复你的织梦网站!如果在操作中遇到任何具体问题,可以提供更多错误信息,我会尽力帮你分析。
