CentOS 7下MariaDB导入SQL文件提示Failed to open file Error 2如何解决
问题解决方案
报错根因
MariaDB返回error 2的含义是操作系统无法找到指定路径的文件。你当前使用的是Windows本地的C盘路径,而你的MariaDB服务运行在CentOS 7服务器上,服务器默认无法直接读取你本地Windows设备的磁盘文件,因此路径不生效。
可直接落地的两种解决方案
方案1:先将SQL文件上传到CentOS服务器再导入
- 第一步:将本地SQL文件传输到服务器。你可以用FTP/SCP工具传输,也可以在本地Windows终端执行以下scp命令(前提是服务器开放了SSH端口):
scp C:/Users/localcomputerUser/SQLFileFolder/SQLFile.sql root@你的服务器IP:/opt/
- 第二步:登录CentOS服务器,确认文件存在且有可读权限:
# 确认文件存在 ls /opt/SQLFile.sql # 给文件加读权限,避免权限不足报错 chmod +r /opt/SQLFile.sql
- 第三步:登录MariaDB,切换到目标数据库后执行导入命令:
-- 先切换到要导入的数据库,没有的话先执行CREATE DATABASE 数据库名;创建 use 目标数据库名; source /opt/SQLFile.sql;
方案2:本地直接远程导入,无需上传文件
你不需要登录服务器的MariaDB命令行,直接在本地Windows的终端执行以下命令即可完成导入:
mysql -h 你的服务器IP -u 数据库用户名 -p 目标数据库名 < C:/Users/localcomputerUser/SQLFileFolder/SQLFile.sql
执行后输入数据库密码即可自动完成导入。
额外注意事项
- 如果文件路径包含空格、特殊字符,需要给完整路径包裹英文引号
- 导入前确认目标数据库已经创建,否则会导入失败
- 如果是云服务器,需要确认安全组开放了MariaDB的3306端口(方案2需要)
内容的提问来源于stack exchange,提问作者P. Paul
相关产品推荐
相关产品推荐

