0

を使用して、ファイルから mysql サーバーのテーブルにデータをロードしようとしています。

load data local infile '<filename>' into table <tablename> 

コマンドを実行してもエラー 1148 が表示されます。これはセキュリティ上の問題によるものであり、このコマンドを実行するには local-infile オプションを有効にする必要があることを理解しています。

しかし、これを python で実行しようとしているので、このオプションを有効にする方法がわかりません。

追加情報: Python 用の mysqldb インポートを使用しています

4

1 に答える 1

0

少しグーグルで調べた後、それを理解しました。

いくつかの回答は、私が編集できるという事実を示しています

/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")
于 2012-09-17T00:16:35.860 に答える