一:                                
      在导入数据出现这个错误一般是因为地址里面的斜杠使用错误。比如下面

load data local infile 'D:\road.txt'into table roadcd fields terminated by '\t';

  参考的许多资料,这里的地址都是使用单斜杠,但我却出现下面的错误信息:

‘road.txt' not found (Errcode: 2 - No such file or directory)

    如果你和我们错误信息一样的话,那就把单斜杠(\)改为双斜杠(\\)试试;

load data local infile 'D:\\road.txt'into table roadcd fields terminated by '\t';

    这样的话就OK了,成功识别文件。

二:

    开启文件存取权限,mysql刚安装时默认没有文件存取权限,若导入文件时,提示信息如下

The MySQL server is running with the --secure-file-priv option so it cannot execute this statement.

表明需要开启secure-file-priv(安全文件权限),可以通过以下命令查看当前状态

SHOW VARIABLES LIKE "secure_file_priv";

若显示 secure-file-priv的value为NULL,表明没有文件读取权限。

mysql无法存储表情字符 mysql斜杠无法存储_mysql无法存储表情字符

解决方案:

1,如果secure_file_priv的value指定了一个安全文件夹,直接将.csv文件放到对应文件夹中即可,或者将secure_file_priv的value指向我们需要的文件夹。

2,如果为NULL,则需要开启安全文件权限

去掉导入的目录限制。可修改mysql配置文件(Windows下为my.ini,在安装目录中, Linux下的my.cnf),在[mysqld]下面,查看是否有:

secure_file_priv =

如上这样一行内容,如果没有,则手动添加。如果存在如下行:

secure_file_priv = /home 

这样一行内容,表示限制为/home文件夹。而如下行:

secure_file_priv =

这样一行内容,表示不限制目录,等号一定要有,否则mysql无法启动。

修改完配置文件后,重启mysql生效。

重启后:

关闭:service mysqld stop

启动:service mysqld start

再查询结果:

mysql无法存储表情字符 mysql斜杠无法存储_斜杠_02

此时,即可进行文件的导入导出操作。

 

三,使用mysql导入本地文件时提示

"ERROR 1148 (42000): The used command is not allowed with this MySQL version"

原因是为了安全起见,MYSQL默认不允许客户端从本地载入文件 。

解决方法如下,

服务器端:

需要将local_infile这个全局变量设置为ON,登陆到MYSQL中后执行命令

show global variables like 'local_infile';

显示当前local_infile值为OFF,没有从本地载入文件权限

mysql无法存储表情字符 mysql斜杠无法存储_mysql无法存储表情字符_03

执行命令,将其值置为ON,开启权限。

set global local_infile=on;

然后,客户端我们还需要在启动的时候添加参数--local-infile=1,命令如下

mysql -u root -p --local-infile=1

设置完成后即可从本地载入文件了。