admin管理员组

文章数量:1640609

        在mysql 8.0.22 运行load data local 从本地文本导入数据时,报错:"ERROR 3948(42000): Loading local data is disabled - this must be enabled on both the client and server sides". 
    结合官方文档和Stack Overflow上的解释,得到以下最佳的解决方案,如下:
    step1.首先,检查一个全局系统变量 'local_infile' 的状态:

show global variables like 'local_infile';

    如果得到如下显示 Value=OFF,则说明这是不可用的。如果得到的是 Value=ON,请直接跳往 step3

        
    step2.要把这个值变为 ON,这里找到两种方法:

        第一种方法:

            1).在mysql客户端输入:

set global local_infile=1;

            2).然后退出quit 退出mysql。再次进入时,便会出现 Value=ON

        第二种方法:

            1).在 C:\ProgramData\MySQL\MySQL Server 8.0(此处为Windows10系统) 路径下,找到初始化文件 my.ini,打开

            2).找到以 [client], [mysql], [mysqld] 开头的三处位置,在每处的下面加一行  local_infile=ON,保存更改

            3).重启mysql服务器后,同样会得到预期的结果

    

        但是,至此问题还没有解决

    step3.在进入数据库的命令行要加上 --local_infile=1 这个配置,具体如下:

mysql --local_infile=1 -u <username> -p

    这个时候,就可以开开心心的运行 load data local 语句添加数据了。 

本文标签: LocalDataloadingdisabledServer