1. 程式人生 > >Python連接Mysql、Influxdb、Redis的方法

Python連接Mysql、Influxdb、Redis的方法

import redis參數 int host conn 讀取配置 efault auth password

一、在配置文件中配置相關連接參數

在conf.ini中:
#mysql參數

[Mysql]
host = 192.168.1.2
port = 3306
user = root
passwd = pswdmysql
db = student

#InfluxDB參數
[InfluxDB]
host = 192.168.1.3
port = 8086
user = root
passwd = pswdinflux
db = student

#Redis參數
[InfluxDB]
host = 192.168.1.4
port = 6379
user = root
passwd = pswdredis

二、讀取配置文件參數,返回連接對象``


/usr/bin/env python
coding:utf-8
auther:yuanmuc
connect to mysql,influxdb,redis
from influxdb import InfluxDBClient
import MySQLdb
import redis
import sys
reload(sys)
sys.setdefaultencoding(‘uft-*8‘)
def DBcon():
            cf = ConfigParser.SafeConfigParser()
            cf.read("conf.ini")
            mysql的參數
            MysqlHost = cf.get(‘Mysql‘,‘host‘)
            MysqlPort = cf.get(‘Mysql‘,‘port‘)
            MysqlUser = cf.get(‘Mysql‘, ‘user‘)
            MysqlPwd = cf.get(‘Mysql‘, ‘passwd‘)
            MysqlDb = cf.get(‘Mysql‘, ‘db‘)
            influxdb的參數
            InfHost = cf.get(‘InfluxDB‘,‘host‘)
            InfPort = cf.get(‘InfluxDB‘, ‘port‘)
            InfUser = cf.get(‘InfluxDB‘, ‘user‘)
            InfPwd = cf.get(‘InfluxDB‘, ‘passwd‘)
            InfDB = cf.get(‘InfluxDB‘, ‘db‘)
            redis的參數
            RedisHost = cf.get(‘Redis‘,‘host‘)
            RedisPort = cf.get(‘Redis‘, ‘port‘)
            RedisUser = cf.get(‘Redis‘, ‘user‘)
            RedisPwd = cf.get(‘Redis‘, ‘passwd‘)
            #連接mysql
            MysqlCon = MySQLdb.connect(host=MysqlHost,port=int(MysqlPort),user=MysqlUser,passwd=MysqlPwd,db=MysqlDb,charset=‘utf-8‘)
            MysqlCur = MysqlCon.cursor()
            #連接influxdb
            Influxdb_Client = InfluxDBClient(InfHost,InfPort,InfUser,InfPwd,InfDB)
            #連接redis
            pool = redis.ConnectionPool(host=RedisHost,port=RedisPort,password=RedisPwd,decode_responses=True)
            Redis_Client = redis.Redis(connection_pool=pool)
            返回連接
            return MysqlCon,MysqlCur,Influxdb_Client,Redis_Client
def MysqlClose():
      MysqlCon.close()
      MysqlCur.close()

if __name__ == ‘__main__‘:
MysqlCon, MysqlCur, Influxdb_Client, Redis_Client = DBcon()

Python連接Mysql、Influxdb、Redis的方法