mysql 导入csv数据时,Load Data Local Infile的权限

时间:2022-08-19 03:42:09

今天要把数据从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] 来修改权限。