问题:在使用workbench导入一个较大的csv文件时出现以下错误:
Error Code: 3948. Loading local data is disabled; this must be enabled on both the client and server sides
解决方法:
1、先查询本地文件加载功能
show variables like 'local_infile';
若显示ON,表明功能已打开;若显示OFF,说明功能未打开,需要进行一下操作。
2、找到MySQL的配置文件(通常是my.cnf
或my.ini
),在文件中找到[mysqld]
部分,添加或修改如下行:
secure-file-priv = ""
local-infile=1
或者直接输入代码
set global local_infile=1;
完成以上操作之后再运行打开文件的代码,出现了新的错误:
Error Code: 2068. LOAD DATA LOCAL INFILE file request rejected due to restrictions on access.
解决方法:
打开命令提示符(win+R再输入cmd),先输入cd "C:\Program Files\MySQL\MySQL Server 8.0\bin" 进入MySQL所在的路径,再输入 mysql -u root -p --local-infile -p 以自带文件加载功能登录MySQL(会跳出输入密码的截面)。
输入代码:
USE `sql_project`;
接着在命令提示符界面输入文件打开的代码:
LOAD DATA LOCAL INFILE 'C:\\ProgramData\\MySQL\\MySQL Server 8.0\\Uploads\\tianchi_mobile_recommend_train_user.csv'
INTO TABLE userbehavior
FIELDS TERMINATED BY ","
LINES TERMINATED BY "\n";
注意:文件存放在指定位置,并且路径中不存在中文。
以上为解决MySQL存入文件中遇到的两个错误的方法。