首先,我是MySQL的新手,所以请在回答时尽量保持数字,如果跳过步骤,我可能会迷路。
在问这个问题之前,我一直在努力研究解决方案,到目前为止,我已经花了大约3个小时。我将解释我已尽力采取了哪些步骤。
目标:允许使用LOAD DATA LOCAL INFILE
挑战:当前服务器上不允许该命令。事实证明,所有尝试找到并打开某些方法来修改服务器选项的尝试均无济于事。在客户端,我能够启用它。
我发现的东西 首先根据我发现的官方教程 第6.1.6节“ LOAD DATA LOCAL的安全性问题” https://dev.mysql.com/doc/refman/8.0/en/load-data-local.html
不幸的是,该解释毫无用处,因为它跳过了大量的操作,他们声明要在服务器上启用它以执行以下操作
在服务器端:
local_infile系统变量控制服务器端的LOCAL功能。根据local_infile设置,服务器将拒绝或允许在客户端启用LOCAL的客户端加载本地数据。默认情况下,local_infile是禁用的。
要明确地导致服务器拒绝或允许LOAD DATA LOCAL语句(无论在构建时或运行时如何配置客户端程序和库),请分别在禁用或启用local_infile的情况下启动mysqld。也可以在运行时设置local_infile。
因此,以下操作均未作任何解释
1)如何在禁用或启用local_infile的情况下启动mysqld 2)如何在运行时设置local_infile
所以我看着这个
5.1.1配置服务器 https://dev.mysql.com/doc/refman/8.0/en/server-configuration.html
他们显示了许多跳过的步骤
shell> mysqld --verbose --help
您如何进入shell?我尝试在cmd上输入该内容,但出现错误
还要注意,未创建my.ini,并且在MySQL Workbench下的选项文件下显示
“未指定我的SQL配置文件的位置(即:my.cnf)”
似乎我没有一个,也不知道如何创建一个
最后我正在运行Windows 10和MySQL 8.0版
作为旁注,我尝试关闭服务器,并获得访问被拒绝
我也尝试着做
mysql> LOAD DATA INFILE'C:/Users/User/Desktop/pet.txt'INTO TABLE宠物; 错误1290(HY000):MySQL服务器正在使用--secure-file-priv选项运行,因此它无法执行此语句
任何帮助将不胜感激
谢谢
答案 0 :(得分:0)
4小时后,终于知道了!
所以这是步骤
这些步骤使我可以使用LOAD DATA LOCAL INFILE