2014-01-09 24 views
1

Я хочу использовать python MySQLdb для доступа к удаленному серверу MySQL с флагом -local-infile, чтобы иметь возможность загружать данные из локального файла. (Как уже упоминалось в этом вопросе Importing CSV to MySQL table returns an error #1148)с использованием флагов в Python MySQLdb

Я использую

db = MySQLdb.connect(host="127.0.0.1", port=3307, user="someuser", passwd="password", db="sql_db") 

создать соединение с базой данных. Как мне сопоставить mysql -u username -p dbname --local-infile с использованием MySQLdb

ответ

0

Вы можете поместить свои конфигурации БД в локальный файл, а затем прочитать его при использовании.

config.ini код

[MySQL] 
host=192.168.20.28 
user=root 
password=123456 
db_name=ovp_global 
charset=utf8 

ру:

import MySQLdb 
import ConfigParser 

config = ConfigParser.ConfigParser() 
config.readfp(open("config.ini", "r")) 


def get_connection(): 
    host = config.get('MySQL', 'host') 
    user = config.get('MySQL', 'user') 
    passwd = config.get('MySQL', 'password') 
    db = config.get('MySQL', 'db_name') 
    charset = config.get('MySQL', 'charset') 

    return MySQLdb.connect(host=host, user=user, passwd=passwd, db=db, charset=charset) 
+0

ли MySQLdb.connect() поддерживают флаги? Могу ли я установить local-infile = 1 в конфиге и передать это? – viper

Смежные вопросы