解决Windows下用命令导入sql文件时"Failed to open file"的问题 _MySQL, Oracle及数据库讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MySQL, Oracle及数据库讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 1838 | 回复: 0   主题: 解决Windows下用命令导入sql文件时"Failed to open file"的问题         下一篇 
masy
注册用户
等级:少校
经验:1234
发帖:182
精华:0
注册:2011-11-4
状态:离线
发送短消息息给masy 加好友    发送短消息息给masy 发消息
发表于: IP:您无权察看 2015-5-26 10:10:20 | [全部帖] [楼主帖] 楼主

出于项目需要,要将一个MySQL数据库从Linux系统下导出,再到Windows系统下导入。在不同Linux系统之中的导入导出我做了很多次了,参照网上的做法完全木有问题。但在Windows系统下用命令导入的时候却报了一个sql文件打开失败的错误,如图1所示。

北京联动北方科技有限公司

图1 Windows下错误的MySQL导入


折腾了半天,又到MySQL官方论坛逛了一圈,在26个字母的海洋里呛得半死后,终于找到了问题的症结所在。

一、在Windows操作系统下使用MySQL命令
安装MySQL软件后,并不能直接在随意打开的命令提示符中使用MySQL命令。需先将可执行文件mysql.exe所在的路径【一般是“软件安装目\mysql\bin”】加入当前用户的环境变量PATH中或者系统环境变量Path中。

环境变量设置完成后,重启电脑使之生效。

二、使用命令导出MySQL数据库
2.1 导出完整的数据库(含数据)

 mysqldump -uusrname -p dbname >out.sql
Enter password:****


2.2 导出数据库某指定的完整表(含数据)

 mysqldump -uusrname -p dbname tabname >out.sql
Enter password:****


注:

usrname 是MySQL登录时所用的用户名
dbname  是要导出的数据库的库名
tabname 是要导出的数据表的表名
out.sql   是导出操作的目标文件,即导出结果

三、使用命令导入MySQL数据库
3.1 直接导入

 mysql -uusrname -p dbname < in.sql


注:数据库dbname需预先建好

3.2 进入mysql提示符后用source命令导入

 mysql -uusrname -p
Enter password:****
mysql> use dbname;       //若本机当前没有此库的话,先用create database dbname; 创建
mysql> source in.sql;


注:usrname dbname与导出操作中的名词同义;in.sql是要导入的一个sql文件

四、注意事项
一般说来,我们仅仅使用要导入的文件名是不够的,还需指定其路径。【Win 7系统下,一般放在当前用户的主目录下(例如C:\Users\pifuhanqingsong)可以不指定路径。可能是因为通过”附件-->命令提示符"或者“运行cmd”打开的命令提示符,使用的当前目录默认为当前用户的主目录吧。】

我们知道与Linux描述路径时使用斜杠【“/”】分隔目录名不同,Windows使用反斜杆【"\"】分隔目录名。但在mysql提示符中,无论你所使用的OS是Linux还是Windows,都要使用斜杆【“/”】分隔目录名,如图2所示

北京联动北方科技有限公司

图2 Windows下正确的MySQL导入


否则,就会出现本文开头图1中所示的打开文件失败错误。

当然,既然我们知道指定路径的必要性是基于一般打开的命令提示符使用当前用户的主目录作为当前目录,那么如果我们可以在待导入的sql文件所在的目录下执行命令,不是就不用指定路径了!经本人实验,这个想法确实是可行的。

--转自 北京联动北方科技有限公司




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论