必须先创建空数据库才能导入SQL文件;应选utf8mb4_unicode_ci字符集;含CREATE DATABASE语句需删除;大文件导入需调优max_execution_time和memory_limit,小文件建议用命令行。
phpMyAdmin里必须先创建空数据库才能导入SQL文件
导入 .sql 文件前,目标数据库必须已存在且为空(或至少已建好结构)。phpmyadmin 的「导入」功能不会自动建库,它只向已有数据库写入表和数据。直接点「导入」却没选中任何数据库,页面会提示 no databases selected 或跳转失败。
创建数据库时字符集选 utf8mb4_unicode_ci 而不是 utf8
MySQL 的 utf8 实际只支持最多 3 字节的 UTF-8 字符(不包括 emoji 和部分生僻汉字),而现代应用普遍需要完整 UTF-8 支持。用 utf8mb4 才能正确存储微信昵称、颜文字、中文古籍字等。
- 在 phpMyAdmin「新建数据库」页,下拉选择排序规则时,优先选
utf8mb4_unicode_ci(不是utf8_general_ci) - 如果源 SQL 文件里有
CREATE DATABASE语句,导入时可能报错Can't create database 'xxx'; database exists—— 这说明你已手动建库,但 SQL 文件又试图重复建库,此时应删掉文件开头的CREATE DATABASE和USE行 - 建库后不要立刻导入,先点进该数据库,再点顶部「导入」标签,否则文件会上传失败或导入到默认库
大 SQL 文件导入失败?不只是因为文件大小限制
phpMyAdmin 默认限制上传 2M,但改配置(如 upload_max_filesize)只是第一步。真正卡住的往往是 max_execution_time(脚本超时)和 memory_limit(内存耗尽)。哪怕你上传成功,执行时也可能中断并显示空白页或 Script timeout。
- 小文件(
- 中等文件(500KB–5MB):先在 phpMyAdmin 配置里调高
upload_max_filesize和post_max_size,再尝试 - 大文件(>5MB):放弃界面导入,改用命令行
mysql -u username -p database_name ,更稳定、不超时
导入前检查 SQL 文件头部是否有 CREATE DATABASE 和 USE
很多导出工具(比如 WordPress 插件或 mysqldump 默认参数)会在 SQL 文件开头写两行:
CREATE DATABASE `mydb` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; USE `mydb`;
如果你已经手动在 phpMyAdmin 里建好了 mydb,这两行就多余了,甚至导致错误。删掉它们,只保留 CREATE TABLE、INSERT 等实际建表与插数语句。
更稳妥的做法是:导出时加 --no-create-db 参数(mysqldump),或在 phpMyAdmin 导出页勾选「不导出 CREATE DATABASE 语句」——但这个选项藏得深,通常在「格式特定选项」折叠区域里。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











