文件存在但执行MySQL脚本提示‘Failed to open file’错误22,求解决
MySQL source命令报错Error 22的解决建议
针对你遇到的MySQL 5.7.40执行source命令报错Failed to open file '"C:\Users\Me\Downloads\Dump.sql"', error: 22的问题,给出以下实用解决步骤:
修正路径写法,避免嵌套引号
从错误提示能看到路径被嵌套了双引号("路径"),这是命令解析错误的核心原因之一。执行source时直接使用单斜杠(正斜杠)路径,无需额外引号:source C:/Users/Me/Downloads/Dump.sql或者使用双反斜杠转义的路径:
source C:\\Users\\Me\\Downloads\\Dump.sql绕开MySQL Shell限制,用外部命令导入
放弃在MySQL命令行客户端内执行source,直接在Windows CMD/PowerShell中执行外部导入命令(替换用户名和目标数据库名):mysql -u 用户名 -p 目标数据库名 < "C:\Users\Me\Downloads\Dump.sql"执行后输入数据库密码即可开始导入,这种方式不受MySQL内部
source命令的路径解析限制,大文件导入也更稳定。排查版本不兼容问题
你安装的MySQL服务是5.7.40,但关联组件是8.0.31,客户端与服务端版本不匹配可能导致命令解析异常。建议下载与服务端同版本(5.7.40)的MySQL命令行工具(mysql.exe),替换当前版本的工具后重新尝试导入。检查文件权限与安全拦截
- 右键.sql文件→属性→安全,确认当前登录用户拥有文件的读取权限;
- 临时关闭Windows Defender或第三方杀毒软件,排除安全软件拦截MySQL读取文件的可能;
- 将文件移动到非系统保护目录(如D盘根目录),再尝试导入。
使用图形化工具辅助导入
下载MySQL Workbench 5.7版本,通过数据导入/导出向导选择.sql文件完成导入。图形化工具的路径解析逻辑更友好,还能提供更详细的错误日志,便于定位问题。
内容的提问来源于stack exchange,提问作者DelphiNewbie
相关产品推荐
相关产品推荐

