
Python-mysql-pool(PyMysqlPool) - LuciferJack
https://github.com/LuciferJack/python-mysql-pool
======
LuciferJack
Pure Python MySQL Client Suitable for python beginners and the use of mysql
database, automated management error connection. Motivation from=>[lost
connection to MySQL server during query] base on mysql-connector and support
fixed 、dynamic pool. Now use in baidu poi off-line calculation

------
LuciferJack
You can use the __python-mysql-pool __[[https://github.com/LuciferJack/python-
mysql-pool][1]](https://github.com/LuciferJack/python-mysql-pool\]\[1\])

so easy config and use support multi database and support dynamic pool and
fixed pool.

    
    
        step:1
        
        """
        file:mysql_config.py change to your db config
        """
        db_config = {
            'local': {
                'host': "10.95.130.118", 'port': 8899,
                'user': "root", 'passwd': "123456",
                'db': "marry", 'charset': "utf8",
                'pool': {
                    #use = 0 no pool else use pool
                    "use":1,
                    # size is >=0,  0 is dynamic pool
                    "size":0,
                    #pool name
                    "name":"local",
                }
            },
            'poi': {
                'host': "10.95.130.***", 'port': 8787,
                'user': "lujunxu", 'passwd': "****",
                'db': "poi_relation", 'charset': "utf8",
                'pool': {
                    #use = 0 no pool else use pool
                    "use":0,
                    # size is >=0,  0 is dynamic pool
                    "size":0,
                    #pool name
                    "name":"poi",
                }
            },
        }
        
        step:2
        
        """
        Note:create your own table
        """
        
        step:3 (example show below)
        
        """
        pool size special operation
        """
        def query_pool_size():
            job_status = 2
            _sql = "select *  from master_job_list j  where j.job_status  in (%s) "
            _args = (job_status,)
            task = query(db_config['local'], _sql,_args)
            logging.info("query_npool method query_npool result is %s ,input _data is %s ", task , _args)
            return
        
        """
        single query
        """
        def query_npool():
            job_status = 2
            _sql = "select *  from master_job_list j  where j.job_status  !=%s "
            _args = (job_status,)
            task = query_single(db_config['local'], _sql,_args)
            logging.info("query_npool method query_npool result is %s ,input _data is %s ", task , _args)
            return
        
        """
        insert
        """
        def insert(nlp_rank_id,hit_query_word):
            #add more args
            _args = (nlp_rank_id,hit_query_word)
            _sql = """INSERT INTO nlp_rank_poi_online (nlp_rank_id,hit_query_word,rank_type,poi_list,poi_raw_list,article_id,city_id,status,create_time,version,source_from) VALUES (%s,%s,%s, %s, %s,%s, %s,%s, %s,%s,%s)"""
            affect = insertOrUpdate(db_config['local'], _sql, _args)
            logging.info("insert method insert result is %s ,input _data is %s ", affect , _args)
            return
        
        """
        update
        """
        def update(query_word,query_id):
            _args = (query_word,query_id)
            _sql = """update nlp_rank  set query_word = %s  WHERE  id = %s"""
            affect = insertOrUpdate(db_config['local'], _sql, _args)
            logging.info("update method update result is %s ,input _data is %s ", affect , _args)
            return
    
    
      [1]: https://github.com/LuciferJack/python-mysql-pool

