隐藏

MySQL 3948 - Loading local data is disabled 异常的处理方法

发布:2023/3/25 18:33:35作者:管理员 来源:本站 浏览次数:612

MySQL 从本地文本导入数据时,发生异常,报错信息为:


   3948 - Loading local data is disabled; this must be enabled on both the client and server sides

   时间: 0s


这里是因为需要同时在 客户端 和 服务端 设置local_infile开启,最简单的办法就是直接找到my.ini文件进行修改(我的MySQL是因为免安装版本,该文件在配置初期就被我直接手动创建在mysql的主目录下)

1、找到my.ini文件打开后,添加所有 local_infile=ON 。


[mysqld]

character-set-server=utf8mb4

bind-address=0.0.0.0

port=3306

default-storage-engine=INNODB

local_infile=ON

[mysql]

default-character-set=utf8mb4

local_infile=ON

[client]

default-character-set=utf8mb4

local_infile=ON


  


2、重启mysql服务


停止mysql服务:net stop mysql

启动mysql服务:net start mysql


C:\Users\11023559>net stop mysql

MySQL 服务正在停止.

MySQL 服务已成功停止。



C:\Users\11023559>net start mysql

MySQL 服务正在启动 .

MySQL 服务已经启动成功。


 


   重新进入mysql后,此时运行 load data local infile 就不会报错了:


mysql> show global variables like 'local_infile';

+---------------+-------+

| Variable_name | Value |

+---------------+-------+

| local_infile  | ON    |

+---------------+-------+

1 row in set, 1 warning (0.00 sec)


mysql> load data local infile 'D:/mysql_test/info.txt' into table test;

Query OK, 2 rows affected, 1 warning (0.03 sec)

Records: 2  Deleted: 0  Skipped: 0  Warnings: 1

还需要在链接Mysql配置里加入AllowLoadLocalInfile=true;

server=127.0.0.1;port=3306;database=testDB;uid=testUser;pwd=pass;AllowLoadLocalInfile=true;