LECMS升级后数据会丢失吗
学完这篇你能判断 LECMS 升级到底会不会丢数据,并按一套可回滚的流程完成备份、升级和核对。正常升级 LECMS 不会丢数据,因为文章、会员、订单等都在 MySQL 数据库里,图片附件在 public/uploads 或 uploads 目录里;真正会导致“数据没了”的,通常是误运行安装程序、导入演示数据、覆盖了 config/database.php 连错数据库。
第一步:确认升级包类型,别把“升级”做成“重装”
这一步要判断你拿到的是覆盖补丁还是完整安装包,做完后能决定能不能直接覆盖。打开升级包压缩文件,看根目录有没有 install/、install.lock、demo.sql。如果有 install/,升级时不要访问 http://你的域名/install/index.php,那会进入重新安装流程。以 LECMS v2.3.0 升 v2.3.1 为例,正确做法是解压后覆盖程序文件,再运行升级包里的 upgrade.php 或后台升级入口。
注意:只要看到“重新安装”“导入演示数据”“清空原有数据”这些按钮,一律不要点。升级不是重装。
第二步:备份 MySQL 数据库,得到一份可恢复的 .sql 文件
这一步要把现有数据完整导出,做完后即使升级失败也能把数据倒回去。用 phpMyAdmin 5.2.1:登录后点左侧你的 LECMS 数据库名,顶部点“导出”,选择“快速”,格式选“SQL”,字符集选 utf8mb4,勾选“添加 DROP TABLE / CREATE TABLE”,点“导出”。命令行更稳:
mysqldump -u lecms_user -p --default-character-set=utf8mb4 --single-transaction --routines --triggers lecms_db > /www/backup/lecms_db_$(date +%F).sql
其中 lecms_user 和 lecms_db 看 LECMS 的 config/database.php。
注意:不要只备份文件不备份数据库。LECMS 的文章内容主要在数据库,文件目录里多数是附件。
第三步:备份网站目录和上传附件
这一步要打包整个站点目录,做完后你能恢复程序、模板、图片和配置。宝塔面板 8.0.5 路径:登录宝塔 -> 左侧“网站” -> 找到站点 -> 右侧“设置” -> “备份” -> “打包”或“备份到服务器”。命令行:
tar -czf /www/backup/lecms_files_$(date +%F).tar.gz /www/wwwroot/www.example.com
重点保留 config/、.env、public/uploads/、uploads/、data/、runtime/ 中你自定义过的内容。
注意:升级包里的
config/database.php不要覆盖。否则可能连到空库,看起来像“数据丢了”。
第四步:停站并覆盖升级文件
这一步要停止写入,避免升级时用户提交数据造成新旧表结构错位。宝塔面板:网站 -> 设置 -> 站点修改 -> 网站状态改为“停止”,或 Nginx 里加维护页。解压升级包到 /tmp/lecms_upgrade,再覆盖:
rsync -av --exclude='config/database.php' --exclude='.env' --exclude='public/uploads/' --exclude='uploads/' --exclude='data/' /tmp/lecms_upgrade/ /www/wwwroot/www.example.com/
完成后访问升级脚本,例如 http://你的域名/upgrade.php,按提示执行一次;没有脚本时进 LECMS 后台“系统 -> 系统工具 -> 数据库升级”执行。
注意:升级完成后删除或改名
upgrade.php、install/,避免被人再次执行。
第五步:核对数据,异常时立即回滚
这一步要确认文章、会员、订单数量是否与升级前一致。后台打开“内容管理 -> 文章管理”,看文章总数;前台打开文章列表和详情页。数据库核对:
mysql -u lecms_user -p lecms_db -e "SELECT COUNT(*) FROM lecms_article; SELECT COUNT(*) FROM lecms_member;"
表前缀以 config/database.php 里的 prefix 为准。如果数量对不上或页面报错,恢复备份:
mysql -u lecms_user -p lecms_db < /www/backup/lecms_db_2025-01-01.sql
tar -xzf /www/backup/lecms_files_2025-01-01.tar.gz -C /
小结
LECMS 升级本身不会丢数据,丢数据多发生在误重装、误导入演示数据、覆盖数据库配置、只备份文件不备份数据库。升级前必须做三件事:导出数据库、打包网站目录、保留 config/database.php 和 uploads。升级后先核对文章数、会员数,再开放站点。只要备份在手,升级失败也能回滚。
原文链接:https://www.gj0.com/thread-267.html
转载请注明出处并保留本声明;内容仅代表作者观点,与本站立场无关。若本文涉嫌侵权,请联系本站处理。