必须先选中目标数据库,否则报#1046错误;phpmyadmin不会自动创建库或选库,只向当前高亮库执行sql,若左侧未点击库名、顶部导航未显示“myapp_db »”,必触发该错。
必须先选中目标数据库,否则报 #1046 错误
phpmyadmin 不会自动创建库,也不会帮你选库——它只往当前高亮的数据库里执行 sql。如果导入前没点左侧列表里的库名,顶部导航栏没显示 myapp_db » 这样的路径,就一定会触发 #1046 - no database selected。
常见错误操作包括:直接点 Import 标签页、上传文件后立刻点执行、或误以为 SQL 文件开头有 CREATE DATABASE 就能跳过选库。实际上,除非你导出时勾选了“添加 CREATE DATABASE 语句”,且该语句在文件最前面,否则 phpMyAdmin 完全不识别。
- 正确顺序:左侧点击目标库 → 顶部导航确认高亮 → 再点 Import 标签页
- 若 SQL 文件不含
USE `xxx`;或CREATE DATABASE,又没手动选库,必错 - 新建库可先在首页点“数据库”→ 输入名 → “创建”
大 SQL 文件上传失败?不是界面卡,是配置没生效
页面空白、进度条不动、提示 script timeout 或 lost connection to server,根本原因不是 phpMyAdmin 前端问题,而是 MySQL 服务端拒绝接收超大数据包,同时 PHP 层也拦住了上传和执行。
必须同步改三处配置并重启对应服务,缺一不可:
- MySQL 配置:
/etc/mysql/my.cnf的[mysqld]段加max_allowed_packet = 512M,然后运行sudo systemctl restart mysql - PHP 配置:
php.ini中调高upload_max_filesize = 512M、post_max_size = 512M、max_execution_time = 600 - Web 服务重启:
sudo systemctl restart apache2(Apache)或sudo systemctl restart nginx(Nginx) - 改完不重启 = 白改;可通过
phpinfo()页面验证参数是否生效
中文变问号?三处字符集必须统一为 utf8mb4
乱码不是“导出时没选对编码”,而是三个环节的字符集错位:SQL 文件本身、phpMyAdmin 解析层、目标表字段定义。只要其中一处是 latin1 或 utf8(非 utf8mb4),就可能丢表情、生问号、显方块。
- 检查 SQL 文件编码:用 VS Code 打开 → 右下角看状态栏 → 必须是
UTF-8 with/without BOM;若显示 GBK 或 ANSI,需另存为 UTF-8 without BOM - phpMyAdmin 导入页底部,“Character set of the file”下拉框必须选
utf8mb4(不是utf8) - 目标数据库的 Collation:在该库的
Operations页里,把Collation改成utf8mb4_unicode_ci - 已有表字段若仍是
latin1_swedish_ci,导入后仍乱,需提前用ALTER TABLE ... CONVERT TO CHARACTER SET utf8mb4调整
绕过限制的替代方案:命令行最稳
当修改配置受限(如共享主机)、文件超 500MB、或反复失败时,直接走 MySQL 命令行是最可靠的选择。它不经过 PHP 和 Web 服务器,无上传大小与超时限制。
前提是你有 SSH 权限和数据库账号密码:
- 确保 SQL 文件已上传到服务器(如
/home/user/backup.sql) - 执行:
mysql -u root -p mydatabase (回车后输密码) - 安全建议:把账号密码写进
~/.my.cnf,避免命令行泄露,格式如下:
[client] user = root password = your_password host = localhost
之后只需 mysql mydatabase 即可。注意:.my.cnf 权限必须设为 <code>600(chmod 600 ~/.my.cnf),否则 MySQL 会拒绝读取。
真正容易被忽略的是:字符集问题在命令行里同样存在。如果 SQL 文件含 SET NAMES latin1 或没声明编码,导入后仍可能乱码——务必确认文件开头有 SET NAMES utf8mb4,或手动加 --default-character-set=utf8mb4 参数。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











