问题出现在我需要用LOAD DATA LOCAL INFILE 导入csv文件,路径为'D:/xxx/xx/xx.csv'时报错,一开始报错找不到文件or文件夹,意思是文件或文件夹必须要在服务器/客户端文件夹下。
搜了一下,这个LOAD DATA LOCAL INFILE需要服务器和客户端都开启本地文件读取,才可以成功运行。
服务端:
进入mysql命令行
输入:
SET GLOBAL local_infile=1;
回车,然后找到服务器的上传文件夹,我的是C:\ProgramData\MySQL\MySQL Server 8.0\Uploads,把要导入的文件放在这里边。
客户端(Workbench 8.0)
右键你的数据库连接,选择【edit the connection】,里边有一个Advanced选项卡,点进去在others框里最后一行添加OPT_LOCAL_INFILE=1
然后LOAD DATA LOCAL INFILE '路径+文件名'
路径文件名中,或者用/或者用\\,单独用\会被转义。
例如:
LOAD DATA LOCAL INFILE ‘C:\ProgramData\MySQL\MySQL Server 8.0\Uploads\1.csv’
错误
而应该:
LOAD DATA LOCAL INFILE ‘C:\\ProgramData\\MySQL\\MySQL Server 8.0\\Uploads\\1.csv’
或者LOAD DATA LOCAL INFILE ‘C:/Pr