站点备份、数据库还原与网站搬家
备份站点文件与数据库,跨机还原并修正账号权限,完成网站搬到新服务器。
一、备份:文件和数据库两手抓
站点文件指程序安装目录整体(含 data/、upload/),数据库指 kf_ 前缀的全部数据表,两者缺一不可。
# 打包站点文件
tar -zcvf site-$(date +%F).tar.gz /www/wwwroot/你的域名
# 导出数据库(结构与数据)
mysqldump -u kfdb -p --single-transaction --default-character-set=utf8mb4 kfdb > kfdb-$(date +%F).sql
宝塔面板的「备份」功能可对站点与数据库一键打包,但建议同时保留一份命令行导出,便于跨环境还原。
二、在宝塔中还原数据库
- 新建一个空库,字符集选 utf8mb4。
- 用面板「导入」功能上传
.sql文件并执行,或用命令行还原:
mysql -u kfdb -p kfdb < kfdb-2026-11-05.sql
- 还原完成后核对表数量是否为 81 张,抽查
kf_info_config等核心表是否已有数据。
三、还原后账号连不上库
在服务器上手动还原数据库后,新建的账号常常连不上,原因是账号与还原进来的库没有建立关联。按下面处理:
-- 重新授权,让账号拥有该库全部权限
GRANT ALL PRIVILEGES ON kfdb.* TO 'kfdb'@'localhost';
FLUSH PRIVILEGES;
若同名用户已存在导致授权失败,先删除旧用户再重新授权。授权后测试连接,确认程序可正常读写。
若你此前用 IIS 与 SQL Server,此处原为“用户映射 + db_owner”,对应到 MySQL 即为 GRANT 授权。
四、网站搬家完整步骤
- 备份:打包站点文件 + 导出数据库。
- 新服务器按「系统安装部署」配置 Nginx、PHP 8.2、MySQL 5.7。
- 上传并解压站点文件到新站点根目录,修正目录属主与权限。
- 新建字符集为 utf8mb4 的同名数据库,导入
.sql。 - 修改
config/下的数据库配置(库名、账号、密码),主机一般保持localhost。 - 域名解析到新服务器 IP,访问首页、详情、发布与后台逐一验证。
五、搬家检查清单
- 打开新增信息并上传图片,确认
upload/可写、图片可显示。 - 检查伪静态是否生效,详情页不出现 404。
- 后台登录后确认分类、导航、配置数据完整。
- 确认无误后再停用旧服务器,保留一份冷备份至观察期结束。