sql >> データベース >  >> RDS >> Mysql

Pythonは約1日後にMySQLデータベースへの接続を失います

    私は今それを動かしています。プールされた接続を使用すると、問題が解決したようです。

    mysql.connector.connect(
        host='10.0.0.25',
        user='xxxxxxx', 
        passwd='xxxxxxx', 
        database='xxxxxxx',
        pool_name='batman',
        pool_size = 3
    )
    
    def connection():
        """Get a connection and a cursor from the pool"""
        db = mysql.connector.connect(pool_name = 'batman')
        return (db, db.cursor())
    

    connection()を呼び出します 各クエリ関数の前にカーソルと接続を閉じてから戻ります。動作しているようです。それでも、より良い解決策を受け入れることができます。

    編集

    それ以来、私はより良い解決策を見つけました。 (私はまだ時々プールされた接続で問題に遭遇していました)。実際には、mysql接続を処理するためのFlask専用のライブラリがあります。これは、ほとんどドロップインの代替品です。

    bashから:pip install Flask-MySQL

    MYSQL_DATABASE_HOSTを追加します 、MYSQL_DATABASE_USERMYSQL_DATABASE_PASSWORDMYSQL_DATABASE_DB あなたのFlask設定に。次に、Flask Appオブジェクトを含むメインのPythonファイルで:

    from flaskext.mysql import MySQL
    mysql = MySQL()
    mysql.init_app(app)
    

    そして、接続を取得するには:mysql.get_db().cursor()

    他のすべての構文は同じであり、それ以来問題は発生していません。このソリューションを長い間使用しています。




    1. Java JDBC:一貫して2日間の休日

    2. 2つのMySQLデータベース間でトランザクションを実行できますか?

    3. ここで、A =1 AND A =2は0行の問題を返します-(短いMysqlの質問)

    4. MySQLでIDが最も高い行を選択するにはどうすればよいですか?