2016-07-04 9 views
0

Ich bin mit falsk SQLAlchemy mit MYSQL mit alle Standardkonfiguration (Poolgröße und Timeout)Flask SQLAlchemy DB-Verbindungen mit MYSQL

Ich verstehe nicht, warum ich aus den DB-Verbindungen aus der MYSQL DB bekommen? Mein Server ist nicht so schwer geladen.

Kann jemand bitte erklären, wie die Flasche sql Alchemie DB-Verbindungen bekommen und freigeben?

Wenn ich einen Pool-Thread von 20 auf meinem Apache mod_wsgi Server habe, bedeutet das theoretisch, dass ich 20 db Verbindung haben kann, öffnet sich die ganze Zeit und das ist es nicht?

Wie Flasche sql Alchemie Griff zu schließen und diese Verbindungen wiederherzustellen. Dank

+0

Haben Sie die Protokolle Echo und echo_pool und geprüft aktiviert? Welchen Fehler bekommst du? – lima

+0

Ich verwende AWS RDS MYSQL. Ich habe den Fehler OperationalError: (_mysql_exceptions.OperationalError) (1040, 'Zu viele Verbindungen') nach dem Upgrade der Instanz gestoppt, aber ich verstehe nicht, wie kommen alle Verbindungen sind beschäftigt, da ich diese Last nicht habe. Wissen Sie, wie flask SQLAlchemy den Verbindungspool verwaltet? – zivziv77

Antwort

0

versuchen diesen Code

import sqlalchemy 

dbhost = 'localhost' #host name 
dbuser = 'root' #mysql username 
dbpass = 'admin' #mysql password 
dbname = 'mytable' #database name 

engine = sqlalchemy.create_engine('mysql://'+dbuser+':'+dbpass+'@'+dbhost) # connect to server 

DB_URI = 'mysql://' + dbuser + ':' + dbpass + '@' + dbhost + '/' +dbname 
app = Flask(__name__) 

app.config['SQLALCHEMY_DATABASE_URI']=DB_URI 

db = SQLAlchemy(app) 
+0

Das was ich mache das wie ich an die DB anschließe. – zivziv77

+0

Sie können diese Konfiguration auf Ihren Code @ zivziv77 anwenden –