导入前先确认三件事
拿到网站源码,别急着导数据库。先确认:源码根目录是否有 .sql 或 .sql.gz 备份文件;程序用的是 MySQL 还是 PostgreSQL;配置文件里写的数据库名、用户名、密码是什么。这三点决定了后面所有操作。
第一步:创建空数据库
导入不是覆盖,而是往一个空库里写数据。登录数据库管理工具,新建一个数据库,字符集优先选 utf8mb4,排序规则选 utf8mb4generalci 或 utf8mb4unicodeci。名字随意,但要和后面配置文件里填的一致。
如果用的是宝塔面板或 cPanel,直接在面板里点“新建数据库”,同时会生成对应用户和密码,记下来。
第二步:选择导入方式
命令行导入(适合大文件)
SSH 登录服务器,执行:
mysql -u 用户名 -p 数据库名 < /路径/备份文件.sql
回车后输入密码。如果文件是 .sql.gz 压缩包,先用 gunzip 解压,或者用管道:
gunzip < 备份文件.sql.gz | mysql -u 用户名 -p 数据库名
命令行方式不受上传大小限制,几百 MB 的文件也能处理。
面板导入(适合小文件)
在 phpMyAdmin 或宝塔面板的“导入”页面,选择 SQL 文件上传。注意默认上传限制通常是 2MB 到 50MB,超过需要先改 php.ini 里的 uploadmaxfilesize 和 postmaxsize,或者直接改用命令行。
第三步:处理导入报错
常见报错有两种。一是“Access denied”,说明用户名或密码不对,检查配置文件。二是“Unknown collation”或“Unknown character set”,通常是备份来自高版本 MySQL,而当前环境版本较低。解决方法是打开 SQL 文件,把不认识的字符集替换成 utf8,再重新导入。
如果文件开头有 CREATE DATABASE 语句,而目标库已存在,可能报错。可以删掉那几行,或加 --force 参数忽略错误继续执行。
第四步:修改配置文件
数据库导入完成不等于网站能跑。打开源码里的配置文件,常见名字有 config.php、wp-config.php、.env、database.php。把数据库名、用户名、密码、主机地址改成实际值。主机地址一般是 localhost 或 127.0.0.1。
改完保存,访问网站首页。如果显示数据库连接错误,回到上一步核对信息;如果页面正常但样式错乱,可能是 siteurl 或 home 选项还指向旧域名,需要在数据库里改回来。
第五步:验证与收尾
登录后台,随便点开几个页面,确认数据完整。然后做两件事:一是删除服务器上残留的 .sql 备份文件,避免被直接下载;二是把配置文件权限设为只读,防止被篡改。
数据库导入本身不复杂,难的是版本差异和配置对应。按上面顺序走,多数问题都能定位。

