命令行向MySQL导入sql文件报1064语法错误该如何解决
MySQL 导入SQL文件报错1064的解决方案
你出现报错的核心原因是混淆了MySQL交互命令和系统终端命令的执行环境,同时给非SQL类的客户端命令加了不必要的SQL结束符,正确操作方法如下:
SOURCE是MySQL客户端的专属非SQL命令,不需要加\g或分号作为结束符mysql -u root -p这类登录和重定向导入命令是系统终端语法,不能在带mysql>提示符的MySQL交互环境内执行
两种正确导入方案
方案1:MySQL交互环境内导入
- 先登录MySQL,切换到要导入的目标数据库:
USE 你的目标数据库名;
- 直接执行SOURCE命令,Windows路径推荐用正斜杠避免转义问题,路径带空格的话用英文引号包裹即可:
-- 正斜杠写法(无需转义,推荐) SOURCE C:/Users/smuf2/Downloads/person.sql -- 双反斜杠转义写法 SOURCE C:\\Users\\smuf2\\Downloads\\person.sql
你之前的报错就是因为给SOURCE命令额外加了
\g结束符,SOURCE不属于标准SQL语句,不需要用SQL的结束符标记执行。
方案2:系统终端直接导入(无需提前登录MySQL)
直接打开Git Bash或Windows CMD,不要进入mysql>交互界面,直接执行以下命令,输入密码即可完成导入:
# Windows CMD通用写法 mysql -u root -p 你的目标数据库名 < C:/Users/smuf2/Downloads/person.sql # Git Bash环境如果报错加winpty前缀 winpty mysql -u root -p 你的目标数据库名 < C:/Users/smuf2/Downloads/person.sql
结果验证
导入完成后登录MySQL,查询对应库的表结构和数据,确认导入正常即可。
内容的提问来源于stack exchange,提问作者SQLrookie
相关产品推荐
相关产品推荐

