我正在努力,
mysql>
LOAD DATA LOCAL INFILE '/var/tmp/countries.csv'
INTO TABLE countries
FIELDS TERMINATED BY ','
ENCLOSED BY '"' LINES
TERMINATED BY '\n'
IGNORE 1 LINES
(CountryId,CountryCode,CountryDescription,CountryRegion,LastUpdatedDate,created_by,created_on)
SET created_by = 'DH_INITIAL_LOAD', created_on = current_timestamp();
错误2068(HY000):由于访问限制,LOAD DATA LOCAL INFILE文件请求被拒绝。'
它工作正常,我下载了pymysql和mysql连接器的python脚本。我卸载和检查仍然不工作。verion和infile是开着的,
select version() -| 8.0.17
mysql> SHOW GLOBAL VARIABLES LIKE 'local_infile';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| local_infile | ON |
+---------------+-------+
1 row in set (0.00 sec)
8条答案
按热度按时间xmd2e60i1#
使用MySql Workbench 8或更高版本会引入这个问题。这为我修复了它:
可以通过以下方式从MySQL Workbench 8.0中删除此限制。编辑连接,在“连接”选项卡上,转到“高级”子选项卡,然后在“其他:”框中添加行“OPT_LOCAL_INFILE= 1”。
这应该允许使用Workbench的客户端像往常一样运行LOAD DATA INFILE。
引自此链接:https://bugs.mysql.com/bug.php?id=91872
huwehgph2#
已知问题:https://bugs.mysql.com/bug.php?id=91872
当尝试连接到mysql本身时,解决方法是将local-infile设置为1并执行load命令:mysql**--本地输入文件= 1**-h $主数据库主机-u $主数据库用户-p $主数据库密码-D $主数据库名称
wxclj1h53#
对于ubuntu:
1.编辑文件/etc/mysql/mysql.conf.d/mysqld.cnf并添加以下内容:
1.重新启动服务
1.运行:mysql -u root -p并检查本地infile变量
1.运行
2nbm6dog4#
修复此错误(mysql 8):
错误2068(HY000):由于访问限制,LOAD DATA LOCAL INFILE文件请求被拒绝。
在服务器的配置文件中的"client"部分下添加以下行:
这将修复错误。但是,这假设您已经在"mysqld"部分下设置了以下内容:
在配置文件中设置这两个参数将允许从任何目录加载数据。
下面是一个简单的使用示例,在mysql终端运行:
hgb9j2n65#
对于Mac用户,如果上述解决方案不起作用(我正在使用Mac OS大苏尔)
转到终端并键入
然后将其添加到文件中
保存并退出窗口。现在转到终端并使用
输入mysql服务器使用
现在在mysql中输入以下内容
这应该会将变量的值显示为空。
这应该会起作用!另外,请确保您已使用将以下变量设置为"ON":
对于安装了mysql8.0的windows用户,下面是上面提到的安全文件变量
dgiusagp6#
在Windows上:
在客户端和服务器以及设置中启用本地后(在my.ini中)
du7egjpx7#
对于mac m1用户(大苏尔、 Monterey 、文图拉):-
·第一个系统首选项--〉MySql“停止MySql服务器”
对于macOS,“Ventura”将位于MySQL系统设置的底部
·在/usr/local中创建etc/my.cnf文件,即(/usr/local/etc/my.cnf)
https://drive.google.com/file/d/13XbMKYcmkzM4MGNCW0s70pfLqMDNhuoh/view?usp=sharing
·现在使用文本编辑编辑“my.cnf”文件:-
按照所示图像操作
[Step 1]:https://i.stack.imgur.com/8yZdk.png
[Step 2]:https://i.stack.imgur.com/yk9b1.jpg
在连接--〉高级--〉其他(编辑)下:-
[Step 3]:https://i.stack.imgur.com/TlEJ5.jpg
·在系统首选项下“启动MySql Server”
·始终在MySql Workbench的代码中使用它,以便正常工作
如果你喜欢这个方法,那么请upvote这篇文章
d4so4syb8#
错误2068:由于访问限制,LOAD DATA LOCAL INFILE文件请求被拒绝
在Windows 11 64位操作系统(基于x64的处理器,内部版本号22621.963,版本22 H2)上,使用Web安装程序.MSI文件作为开发人员配置安装MySQL。
将my.ini从C:\ProgramData\MySQL\MySQL Server 8.0中的默认值更改为
在[客户端]部分中,添加local_infile=ON
下面的代码可以从连接到我的本地示例的MySQL Workbench中运行-
通过创建.CSV文件使用此数据
将.CSV文件复制到C:\程序数据\MySQL\MySQL服务器8.0\Data\北风
此代码用于加载托运人表-
也适用于MySQL
选择版本();给出“8.0.31”
帮助〉关于Workbench给出“版本8.0.31内部版本2235049 CE 64位”