我正在尝试使用
load data local infile '<filename>' into table <tablename>
命令,但它给出了错误 1148。我知道这是由于一些安全问题,我必须启用 local-infile 选项才能执行此命令。
但由于我试图通过 python 执行此操作,我不确定如何启用此选项。
附加信息:我正在为 python 使用 mysqldb 导入
我正在尝试使用
load data local infile '<filename>' into table <tablename>
命令,但它给出了错误 1148。我知道这是由于一些安全问题,我必须启用 local-infile 选项才能执行此命令。
但由于我试图通过 python 执行此操作,我不确定如何启用此选项。
附加信息:我正在为 python 使用 mysqldb 导入
经过一番谷歌搜索后想通了。
几个答案指向我可以编辑的事实
/etc/mysql/my.cnf
并在文件中添加 local-infile=0
但有时(不知道为什么)python 不会从文件中获取设置。
您可以传递参数:
read_default_file="/etc/mysql/my.cnf"
在创建与数据库的连接时,如下
conn = MySQLdb.connect(host='localhost',user='root',passwd='passwd',db='db',charset = "utf8", use_unicode = True,read_default_file="/etc/mysql/my.cnf")