You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

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的导入工具设置

  1. 打开MySQL Workbench,重新进入服务器>数据导入界面
  2. 选择好你的loja_cliente.sql文件后,不要急着点「启动导入」,找到界面里的高级选项(不同版本可能叫「配置导入工具」之类的,仔细找找)
  3. 在工具路径设置里,把默认的mysqldump.exe改成mysql.exe,它的路径一般是C:\Program Files\MySQL\MySQL Server 8.0\bin\mysql.exe(根据你安装的MySQL服务器版本调整路径,是MySQL Server的bin目录,不是Workbench目录下的)
  4. 保存设置后再启动导入,就能正常执行了

方案二:直接用命令行导入(更稳定)

如果Workbench的设置改起来麻烦,直接用命令行反而更靠谱:

  1. 打开Windows的命令提示符(CMD),先切换到MySQL服务器的bin目录:
    cd "C:\Program Files\MySQL\MySQL Server 8.0\bin"
    
  2. 执行导入命令(如果不想明文输密码,就去掉-p后面的空格,执行后会提示你输入):
    mysql -u root -p loja < "C:\Users\jonpr\Desktop\loja_cliente.sql"
    
  3. 要是你还没创建loja数据库,先执行这两步:
    先进入MySQL客户端:
    mysql -u root -p
    
    输入密码后,在MySQL命令行里执行:
    CREATE DATABASE IF NOT EXISTS loja;
    USE loja;
    source C:\Users\jonpr\Desktop\loja_cliente.sql;
    
    回车后就能完成导入了

内容的提问来源于stack exchange,提问作者Jonathas Moreira

火山引擎 最新活动