本文整理汇总了Python中MySQLdb.connect方法的典型用法代码示例。如果您正苦于以下问题:Python MySQLdb.connect方法的具体用法?Python MySQLdb.connect怎么用?Python MySQLdb.connect使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MySQLdb
的用法示例。
在下文中一共展示了MySQLdb.connect方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: emit
# 需要导入模块: import MySQLdb [as 别名]
# 或者: from MySQLdb import connect [as 别名]
def emit(self, record):
"""
Connect to DB, execute SQL Request, disconnect from DB
@param record:
@return:
"""
# Use default formatting:
self.format(record)
# Set the database time up:
self.formatDBTime(record)
if record.exc_info:
record.exc_text = logging._defaultFormatter.formatException(record.exc_info)
else:
record.exc_text = ""
# Insert log record:
sql = mySQLHandler.insertion_sql
try:
conn=MySQLdb.connect(host=self.db['host'],port=self.db['port'],user=self.db['dbuser'],passwd=self.db['dbpassword'],db=self.db['dbname'])
except _mysql_exceptions, e:
from pprint import pprint
print("The Exception during db.connect")
pprint(e)
raise Exception(e)
exit(-1)
示例2: buildDatabase
# 需要导入模块: import MySQLdb [as 别名]
# 或者: from MySQLdb import connect [as 别名]
def buildDatabase( databaseName ):
username = raw_input( "Enter MySQL user name: " )
password = getpass.getpass( "Enter user password: " )
print "Creating database %s:" % databaseName
# retrieve database description from file
print "\tRetrieving database definition:",
try:
databaseDefinition = retrieveDatabaseDefinition( databaseName )
except TypeError:
sys.exit( "ERROR\nThe database definition in %s.def is invalid" % databaseName )
else:
print "DONE"
# get a cursor for MySQL
print "\tConnecting to MySQL:",
try:
cursor = MySQLdb.connect( user = username, passwd = password ).cursor()
except MySQLdb.OperationalError, error:
sys.exit( "ERROR\nCould not connect to MySQL (%s)" % error )
示例3: dbgetstring
# 需要导入模块: import MySQLdb [as 别名]
# 或者: from MySQLdb import connect [as 别名]
def dbgetstring(db,tablename,sensorid,columnid,revision=None):
"""
DEFINITION:
Perform a select search and return strings
PARAMETERS:
Variables:
- db: (mysql database) defined by mysql.connect().
- tablename: name of the table
- sensorid: sensor to match
- columnid: column in which search is performed
Kwargs:
- revision: optional sensor revision (not used so far)
APPLICATION:
>>>stationid = dbgetstring(db, 'DATAINFO', 'LEMI25_22_0001', 'StationID')
returns the stationid from the DATAINFO table which matches the Sensor
"""
sql = 'SELECT ' + columnid + ' FROM ' + tablename + ' WHERE SensorID = "' + sensorid + '"';
cursor = db.cursor()
cursor.execute(sql)
row = cursor.fetchone()
try:
fl = float(row[0])
return fl
except:
return row[0]
示例4: execute_with_reconnect
# 需要导入模块: import MySQLdb [as 别名]
# 或者: from MySQLdb import connect [as 别名]
def execute_with_reconnect(self, sql: str, args: Optional[List[ValidSqlArgumentDescription]] = None, fetch_rows: Optional[bool] = False) -> Tuple[int, List[ValidSqlArgumentDescription]]:
result = None
# Attempt to execute the query and reconnect 3 times, then give up
for _ in range(3):
try:
p = perf.start()
n = self.cursor.execute(sql, args)
perf.check(p, 'slow_query', (f'```{sql}```', f'```{args}```'), 'mysql')
if fetch_rows:
rows = self.cursor.fetchall()
result = (n, rows)
else:
result = (n, [])
break
except OperationalError as e:
if 'MySQL server has gone away' in str(e):
print('MySQL server has gone away: trying to reconnect')
self.connect()
else:
# raise any other exception
raise e
else:
# all attempts failed
raise DatabaseException('Failed to execute `{sql}` with `{args}`. MySQL has gone away and it was not possible to reconnect in 3 attemps'.format(sql=sql, args=args))
return result
示例5: query_single
# 需要导入模块: import MySQLdb [as 别名]
# 或者: from MySQLdb import connect [as 别名]
def query_single(_db_config, _sql, _args):
config = _db_config
conn = MySQLdb.connect(host=config['host'], port=config['port'], user=config['user'], passwd=config['passwd'],
db=config['db'], charset=config['charset'], use_unicode=True)
cursor = conn.cursor(MySQLdb.cursors.DictCursor)
result = ()
try:
cursor.execute(_sql, _args)
result = cursor.fetchall()
except:
pass
rootLogger.error("query exception sql is %s ,_args is %s,stacks is %s", _sql, _args, get_caller_info_total())
rootLogger.exception("message")
finally:
cursor.close()
conn.close()
return result
# ===============================================
# FUNCTION 更新或者删除
# ===============================================
示例6: insertOrUpdate_getId
# 需要导入模块: import MySQLdb [as 别名]
# 或者: from MySQLdb import connect [as 别名]
def insertOrUpdate_getId(_db_config, _sql, _args):
result = 0
id = 0
config = _db_config
conn = MySQLdb.connect(host=config['host'], port=config['port'], user=config['user'], passwd=config['passwd'],
db=config['db'], charset=config['charset'], use_unicode=True)
cursor = conn.cursor(MySQLdb.cursors.DictCursor)
try:
cursor.execute(_sql, _args)
id = conn.insert_id()
conn.commit()
result = cursor.rowcount
except:
pass
rootLogger.error("exception sql is %s ,_args is %s", _sql, _args)
rootLogger.exception("message")
conn.rollback()
finally:
print("affected rows = {}".format(cursor.rowcount))
cursor.close()
conn.close()
return result, id
示例7: __init__
# 需要导入模块: import MySQLdb [as 别名]
# 或者: from MySQLdb import connect [as 别名]
def __init__(self, sempo_organisation_id, ge_community_token_id=None, user_limit=10000):
self.poa = POAExplorer()
timeout = 120
print('RDSMigrate: Creating a connection, with a %d sec timeout.' % timeout)
self.connection = MySQLdb.connect(host=current_app.config['GE_DB_HOST'],
db=current_app.config['GE_DB_NAME'],
user=current_app.config['GE_DB_USER'],
port=int(current_app.config['GE_DB_PORT']),
password=current_app.config['GE_DB_PASSWORD'],
connect_timeout=timeout)
if not self.connection:
raise RuntimeError('Could not connect to database')
else:
print('DB connection successfully created. Yeah us.')
self.sempo_organisation_id = sempo_organisation_id
self.ge_community_token_id = ge_community_token_id
self.user_limit = user_limit
示例8: connect
# 需要导入模块: import MySQLdb [as 别名]
# 或者: from MySQLdb import connect [as 别名]
def connect(self, host=None, user=None, passwd=None, database=None):
'''Connect to the concrete data base.
The first time a valid host, user, passwd and database must be provided,
Following calls can skip this parameters
'''
try:
if host is not None: self.host = host
if user is not None: self.user = user
if passwd is not None: self.passwd = passwd
if database is not None: self.database = database
self.con = mdb.connect(self.host, self.user, self.passwd, self.database)
self.logger.debug("connected to DB %s at %s@%s", self.database,self.user, self.host)
return 0
except mdb.Error as e:
self.logger.error("Cannot connect to DB %s at %s@%s Error %d: %s", self.database, self.user, self.host, e.args[0], e.args[1])
return -1
示例9: connect
# 需要导入模块: import MySQLdb [as 别名]
# 或者: from MySQLdb import connect [as 别名]
def connect(self, host=None, user=None, passwd=None, database=None):
'''Connect to specific data base.
The first time a valid host, user, passwd and database must be provided,
Following calls can skip this parameters
'''
try:
if host is not None: self.host = host
if user is not None: self.user = user
if passwd is not None: self.passwd = passwd
if database is not None: self.database = database
self.con = mdb.connect(self.host, self.user, self.passwd, self.database)
print "DB: connected to %s@%s -> %s" % (self.user, self.host, self.database)
return 0
except mdb.Error, e:
print "nfvo_db.connect Error connecting to DB %s@%s -> %s Error %d: %s" % (self.user, self.host, self.database, e.args[0], e.args[1])
return -1
示例10: setUp
# 需要导入模块: import MySQLdb [as 别名]
# 或者: from MySQLdb import connect [as 别名]
def setUp(self):
_skip_if_no_MySQLdb()
import MySQLdb
try:
# Try Travis defaults.
# No real user should allow root access with a blank password.
self.db = MySQLdb.connect(host='localhost', user='root', passwd='',
db='pandas_nosetest')
except:
pass
else:
return
try:
self.db = MySQLdb.connect(read_default_group='pandas')
except MySQLdb.ProgrammingError as e:
raise nose.SkipTest(
"Create a group of connection parameters under the heading "
"[pandas] in your system's mysql default file, "
"typically located at ~/.my.cnf or /etc/.my.cnf. ")
except MySQLdb.Error as e:
raise nose.SkipTest(
"Cannot connect to database. "
"Create a group of connection parameters under the heading "
"[pandas] in your system's mysql default file, "
"typically located at ~/.my.cnf or /etc/.my.cnf. ")
示例11: execute
# 需要导入模块: import MySQLdb [as 别名]
# 或者: from MySQLdb import connect [as 别名]
def execute(cur, sql, params=[]):
global args
if not (args.sql_silent):
log("SQL: " + sql)
log("PARAMS: " + str(params))
if args.dryrun:
if not (("select" in sql.lower()) or ("show columns" in sql.lower())):
print "Not executing, dryrun"
return
try:
cur.execute(sql, params)
except Exception as ex:
print "Exception in SQL execution, retrying command once"
print ex
connect(False)
cur = getCursor()
cur.execute(sql, params)
return cur
示例12: require_db_connection
# 需要导入模块: import MySQLdb [as 别名]
# 或者: from MySQLdb import connect [as 别名]
def require_db_connection(f):
@wraps(f)
def decorated_function(*args, **kwargs):
####连接数据库
if hasattr(g, 'conn') and g.conn != None and hasattr(g, 'cursor') and g.cursor != None:
print 'has db connect, do nothing'
else:
(g.conn, g.cursor) = _connect_db()
print 'create new db connect'
#执行方法
func = f(*args, **kwargs)
###关闭数据库连接
if hasattr(g, 'conn') and g.conn != None and hasattr(g, 'cursor') and g.cursor != None:
g.cursor.close()
g.cursor = None
g.conn.close()
g.conn = None
print 'close db connect'
else:
print 'no db connect, no need to close...'
return func
return decorated_function
示例13: handle
# 需要导入模块: import MySQLdb [as 别名]
# 或者: from MySQLdb import connect [as 别名]
def handle(self, *args, **options):
self.stdout.write(self.style.SUCCESS('Starting db creation'))
dbname = options.get('db_name') or settings.DATABASES['default']['NAME']
user = options.get('user') or settings.DATABASES['default']['USER']
password = options.get('password') or settings.DATABASES['default']['PASSWORD']
host = settings.DATABASES['default']['HOST']
con = db.connect(user=user, host=host, password=password)
cur = con.cursor()
cur.execute(f'CREATE DATABASE {dbname}')
cur.execute(f'ALTER DATABASE `{dbname}` CHARACTER SET utf8')
cur.close()
con.close()
self.stdout.write(self.style.SUCCESS('All Done'))
示例14: get_iam_token
# 需要导入模块: import MySQLdb [as 别名]
# 或者: from MySQLdb import connect [as 别名]
def get_iam_token(self, conn):
"""
Uses AWSHook to retrieve a temporary password to connect to MySQL
Port is required. If none is provided, default 3306 is used
"""
from airflow.providers.amazon.aws.hooks.base_aws import AwsBaseHook
aws_conn_id = conn.extra_dejson.get('aws_conn_id', 'aws_default')
aws_hook = AwsBaseHook(aws_conn_id, client_type='rds')
if conn.port is None:
port = 3306
else:
port = conn.port
client = aws_hook.get_conn()
token = client.generate_db_auth_token(conn.host, port, conn.login)
return token, port
示例15: __init__
# 需要导入模块: import MySQLdb [as 别名]
# 或者: from MySQLdb import connect [as 别名]
def __init__(self, db):
"""
Constructor
@param db: ['host','port','dbuser', 'dbpassword', 'dbname']
@return: mySQLHandler
"""
logging.Handler.__init__(self)
self.db = db
# Try to connect to DB
# Check if 'log' table in db already exists
result = self.checkTablePresence()
# If not exists, then create the table
if not result:
try:
conn=MySQLdb.connect(host=self.db['host'],port=self.db['port'],user=self.db['dbuser'],passwd=self.db['dbpassword'],db=self.db['dbname'])
except _mysql_exceptions, e:
raise Exception(e)
exit(-1)
else:
cur = conn.cursor()
try:
cur.execute(mySQLHandler.initial_sql)
except _mysql_exceptions as e:
conn.rollback()
cur.close()
conn.close()
raise Exception(e)
exit(-1)
else:
conn.commit()
finally:
cur.close()
conn.close()