Windows下错误的MySQL导入
折腾了半天,又到MySQL官方论坛逛了一圈,在26个字母的海洋里呛得半死后,终于找到了问题的症结所在。具体解决方法在本文<第四节 注意事项>,奔此而来的童鞋请直接前往,忽略掉前面的基础知识~
本文的主题是基于命令行的MySQL导入导出,下面进入正题。
一、在Windows操作系统下使用MySQL命令安装MySQL软件后,并不能直接在随意打开的命令提示符中使用MySQL命令。需先将可执行文件mysql.exe所在的路径【一般是“软件安装目录mysqlbin”】加入当前用户的环境变量PATH中或者系统环境变量Path中,不会添加的自己问度娘谷哥去,此处不再赘述。
环境变量设置完成后,重启电脑使之生效。【不想重启的,参考这个《详解Windows不重启使环境变量修改生效 (请直接点击文章名)》】
二、使用命令导出MySQL数据库 2.1 导出完整的数据库(含数据)
mysqldump -uusrname -pdbname >out.sql
Enter password:****
mysqldump -uusrname -pdbname tabname >out.sql
Enter password:****
注:
usrname 是MySQL登录时所用的用户名
dbname 是要导出的数据库的库名
tabname 是要导出的数据表的表名
out.sql 是导出操作的目标文件,即导出结果
mysql -uusrname -pdbname < in.sql
注:数据库dbname需预先建好
3.2 进入mysql提示符后用source命令导入
mysql -uusrname -p
Enter password:****
mysql> use dbname;
//若本机当前没有此库的话,先用create
databasedbname; 创建
mysql> sourcein.sql;
注:usrname dbname与导出操作中的名词同义;in.sql是要导入的一个sql文件
四、注意事项一般说来,我们仅仅使用要导入的文件名是不够的,还需指定其路径。【Win 7系统下,一般放在当前用户的主目录下(例如C:Userspifuhanqingsong)可以不指定路径。可能是因为通过”附件-->命令提示符"或者“运行cmd”打开的命令提示符,使用的当前目录默认为当前用户的主目录吧。】
我们知道与Linux描述路径时使用斜杠【“/”】分隔目录名不同,Windows使用反斜杆【""】分隔目录名。但在mysql提示符中,无论你所使用的OS是Linux还是Windows,都要使用斜杆【“/”】分隔目录名,如所示
Windows下正确的MySQL导入
否则,就会出现本文开头中所示的打开文件失败错误。
当然,既然我们知道指定路径的必要性是基于一般打开的命令提示符使用当前用户的主目录作为当前目录,那么如果我们可以在待导入的sql文件所在的目录下执行命令,不是就不用指定路径了!经本人实验,这个想法确实是可行的,具体做法参考《win7右键在当前目录打开命令cmd窗口》或者《如何更改cmd命令提示符的默认当前路径 》。