苹果CMS如何做数据备份与恢复?数据库备份(海洋未明确,苹果CMS未明确)
学完这篇,你能独立完成苹果CMS(V10)的数据库备份与还原,并在网站数据被误删、迁移服务器或升级前留好退路。
苹果CMS 本身没有独立的「一键整站备份」按钮,它提供的是数据库层面的备份与还原,源码和附件要另外处理。下面按「先备份、后还原」的顺序讲,全部是后台和命令行可复现的操作。
第一步:进后台找到数据库管理入口
这一步的目的是确认你的苹果CMS支持后台备份,并找到备份文件的存放位置。
登录后台(默认地址 你的域名/admin.php),在左侧菜单找到 系统 → 数据库管理。V10 版本里这个页面通常有四个标签:备份数据库、还原数据库、优化表、修复表。你能在这里看到当前所有数据表,以及每张表的记录数。
后台备份出来的 .sql 文件默认放在网站根目录下的:
/application/data/backup/
注意:如果你的苹果CMS是别人二次开发过的版本,这个目录可能被改到
/data/backup/或/runtime/backup/。先在这个页面点一次「备份数据库」,再去服务器上按修改时间排序找最新的.sql文件,确认实际路径,别凭记忆猜。
第二步:用后台完成一次数据库备份
这一步做完,你会得到一个包含全站数据的 SQL 文件。
在 系统 → 数据库管理 → 备份数据库 标签页:
- 全选所有数据表(苹果CMS的核心表是
mac_vod、mac_art、mac_user、mac_type、mac_collect等,别只勾几张)。 - 选择「分卷备份」,每卷大小填
2048(KB),大站点用分卷能避免 PHP 超时。 - 点「开始备份」,等进度跑完,页面会提示备份成功。
备份完后回到 还原数据库 标签,应该能看到刚生成的文件列表,文件名类似:
maccms_20240512_153000_1.sql
注意:备份期间尽量把网站切到维护模式(后台 → 系统 → 网站参数 → 关闭网站),否则用户正在提交的评论、播放记录可能没进备份。另外后台备份走 PHP,数据库超过 100MB 时容易 504 超时,这种情况直接看第三步。
第三步:数据量大时改用 mysqldump 备份
这一步解决后台备份超时、文件不全的问题,得到一份更可靠的 SQL 文件。
SSH 登录服务器,执行(把方括号换成你的实际值):
mysqldump -u[用户名] -p[密码] --default-character-set=utf8mb4 \
--single-transaction --routines --triggers [数据库名] \
> /home/backup/maccms_$(date +%Y%m%d).sql
数据库名、用户名、密码在 application/database.php 里能看到。--single-transaction 保证备份过程中不锁表,utf8mb4 必须写,否则中文和 emoji 会变问号。
备份完检查一下文件大小不为 0:
ls -lh /home/backup/
注意:备份文件不要放在网站根目录下。放在 web 可访问目录里,别人猜到你域名直接就能下载整站数据。放到
/home/backup/这类站点目录之外的位置。
第四步:别忘了源码和附件
数据库只存文字和配置,视频封面、上传的图片、模板文件都不在里面。
需要单独打包的目录:
upload/:所有上传的图片、附件application/:模板、配置文件(application/database.php一定要留)template/:前台模板
tar -zcvf /home/backup/maccms_files_$(date +%Y%m%d).tar.gz \
upload application template
第五步:还原数据库
这一步把备份文件写回数据库,适用于误删数据、换服务器、升级回滚。
方式一:后台还原。 先上传备份文件到 /application/data/backup/,然后在 系统 → 数据库管理 → 还原数据库 里勾选文件,点「开始还原」。还原前建议先点「优化表」,还原后再点一次「修复表」。
方式二:命令行还原。 适合大文件:
mysql -u[用户名] -p[密码] [数据库名] < /home/backup/maccms_20240512.sql
方式三:phpMyAdmin。 选中左侧你的数据库 → 顶部「导入」→ 选择文件 → 字符集选 utf-8 → 执行。文件超过 2MB 时先把 php.ini 里的 upload_max_filesize 和 post_max_size 调大,再重启 PHP。
注意:还原会覆盖现有数据,操作前先把当前数据库再备份一次,别直接覆盖。另外还原完必须清缓存:删除
runtime/目录下的内容(保留目录本身),否则前台可能还显示旧数据。
小结
- 苹果CMS只有数据库备份,源码和
upload/附件要单独打包。 - 后台入口:系统 → 数据库管理,备份文件默认在
/application/data/backup/。 - 数据库超 100MB 用
mysqldump --single-transaction --default-character-set=utf8mb4。 - 备份文件放站点目录外,避免被直接下载。
- 还原前先备份现状,还原后清
runtime/缓存、优化修复数据表。 - 换服务器时,顺序是:建库 → 导入 SQL → 传源码和附件 → 改
application/database.php→ 清缓存。
原文链接:https://www.gj0.com/thread-124.html
转载请注明出处并保留本声明;内容仅代表作者观点,与本站立场无关。若本文涉嫌侵权,请联系本站处理。