今天要把数据从csv文件导入到mysql中,查看了一下mysql的导入命令:load data infile,其命令格式如下:
LOAD DATA[LOW_PRIORITY] [LOCAL] INFILE ''file_name.txt''[REPLACE | IGNORE]
INTO TABLE table_name
[FIELDS
[TERMINATED BY ''\t'']
[OPTIONALLY] ENCLOSED BY '''']
[ESCAPED BY ''\\'' ]]
[LINES TERMINATED BY ''\n'']
[IGNORE number LINES]
[(col_name,...)]
由于是本地主机,不在mysql服务器上,因此使用Local选项,但是总是会报错:“The used command is not allowed with this MySQL version”。
查了些资料才发现Load Data的权限不对,有两种方法可以解决:
1、通过在/etc/mysql/my.cnf文件中添加local-infile = 1来修改权限是的可以加载本地文件。当然也可以通过local-infile = 0来禁止掉。修改my.cnf后必须重启mysql。
2、通过启动时,>mysql -uroot -ppassword --local-infile = [0|1] 来修改权限。