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