标签:
一、问题,在Linux下使用source命令导入数据的时候,报
ERROR:
Failed to open file ‘/data/xxx/fff.sql‘, error: 2
二、解决办法
(首先记得使用了将要导入的数据库,mysql>use test;)
1.查看.sql文件的用户权限,保证mysql对资源文件拥有读写执行权限
2.上述方法并不是我这次问题的原因。
进入到资源文件目录 cd /data/xxx/
输入ll命令后,发现一个奇怪的现象,所有的.sql文件格式都在尾处有一个‘?‘号,如图:
这就奇怪了,在Linux下使用mysqldump命令导出的文件格式会出现错误?
莫名其妙,看了下dump命令:mysqldump -utest -ptest -h127.0.0.1 dbname1 --quick> /data/xxx/fff1.sql
mysqldump -utest -ptest -h127.0.0.1 dbname2 --quick> /data/xxx/fff2.sql
现在怀疑是dump命令的每一行忘记加分号导致的。
因为不熟悉Linux,使用rename和find+mv命令来批量改这些文件的后缀时把每个文件的名称和后缀复制长了一倍,然后再各种命令都会报argument list too long,不知道怎么操作了,就删除了所有文件,给原来的dump批处理文件每行结尾加上了分号,
这次导出来的文件后缀就没问题了,顺利的导入。
【PS:批量修改文件名、后缀还要继续学习,另外为什么dump批处理文件不加分号会导致导出的文件后缀有问题】
标签:
原文地址:http://www.cnblogs.com/sayid/p/4837025.html