MySQL Workbench导入SQL Dump报错1049:未知数据库问题求助
解决MySQL Workbench导入SQL文件时出现Unknown database '<'的错误
嘿,我一眼就看出问题出在哪了——你遇到的这个报错,根源是MySQL Workbench搞错工具了:它用了导出工具mysqldump.exe来做导入操作,而不是用专门执行SQL文件的mysql.exe客户端工具!
看你贴的执行命令:
"C:\Program Files\MySQL\MySQL Workbench 8.0 CE\mysqldump.exe" --defaults-file="c:\users\jonpr\appdata\local\temp\tmpoaygw1.cnf" --protocol=tcp --host=localhost --user=root --port=3306 --default-character-set=utf8 --comments < "C:\Users\jonpr\Desktop\loja_cliente.sql"
mysqldump是用来导出数据的,它根本不支持<这种输入重定向的语法,所以它把<当成了要操作的数据库名,才会报Unknown database '<'的错误——这和你在SQL文件开头加create database没关系,因为mysqldump根本没去执行你的SQL文件内容!
给你两个靠谱的解决方案:
方案一:修正Workbench的导入工具设置
- 打开MySQL Workbench,重新进入服务器>数据导入界面
- 选择好你的
loja_cliente.sql文件后,不要急着点「启动导入」,找到界面里的高级选项(不同版本可能叫「配置导入工具」之类的,仔细找找) - 在工具路径设置里,把默认的
mysqldump.exe改成mysql.exe,它的路径一般是C:\Program Files\MySQL\MySQL Server 8.0\bin\mysql.exe(根据你安装的MySQL服务器版本调整路径,是MySQL Server的bin目录,不是Workbench目录下的) - 保存设置后再启动导入,就能正常执行了
方案二:直接用命令行导入(更稳定)
如果Workbench的设置改起来麻烦,直接用命令行反而更靠谱:
- 打开Windows的命令提示符(CMD),先切换到MySQL服务器的bin目录:
cd "C:\Program Files\MySQL\MySQL Server 8.0\bin" - 执行导入命令(如果不想明文输密码,就去掉
-p后面的空格,执行后会提示你输入):mysql -u root -p loja < "C:\Users\jonpr\Desktop\loja_cliente.sql" - 要是你还没创建
loja数据库,先执行这两步:
先进入MySQL客户端:
输入密码后,在MySQL命令行里执行:mysql -u root -p
回车后就能完成导入了CREATE DATABASE IF NOT EXISTS loja; USE loja; source C:\Users\jonpr\Desktop\loja_cliente.sql;
内容的提问来源于stack exchange,提问作者Jonathas Moreira




