2 months ago
Verificando banco de dados MySQL...
from app import app # Mantém o teu import original
g.db = mysql.connector.connect(**MYSQL_CONFIG)
Traceback (most recent call last):
^^^^^^^^^^^^^^^^^^^
The above exception was the direct cause of the following exception:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/app.py", line 22, in
File "/usr/local/lib/python3.11/site-packages/mysql/connector/pooling.py", line 293, in connect
File "/app/core/banco.py", line 25, in init_db
init_db()
return CMySQLConnection(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
db, cursor = get_db()
Traceback (most recent call last):
^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/mysql/connector/connection_cext.py", line 308, in _open_connection
File "/app/serve.py", line 3, in
self._cmysql.connect(**cnx_kwargs)
_mysql_connector.MySQLInterfaceError: Can't connect to MySQL server on 'localhost:3306' (111)
self.connect(**kwargs)
File "/usr/local/lib/python3.11/site-packages/mysql/connector/abstracts.py", line 1237, in connect
self._open_connection()
File "/usr/local/lib/python3.11/site-packages/mysql/connector/connection_cext.py", line 313, in _open_connection
Pinned Solution
2 months ago
You should not be connecting to MySQL on localhost. Railway's MySQL instance provides a reference variable ${{MySQL.MYSQL_URL}} that you should be adding to your service.
5 Replies
Status changed to Awaiting Railway Response Railway • 2 months ago
2 months ago
Hello,
Apologies but we can only do support in English. Could you please re-submit this ticket in English?
Best,
The Railway Team
Status changed to Awaiting User Response Railway • 2 months ago
chandrika
Hello, Apologies but we can only do support in English. Could you please re-submit this ticket in English? Best, The Railway Team
2 months ago
OK, I'll send it in English.
Status changed to Awaiting Railway Response Railway • 2 months ago
alexjr0204-prog
OK, I'll send it in English.
2 months ago
File "/app/core/banco.py", line 19, in get_db
Verificando banco de dados MySQL...
from app import app # Mantém o teu import original
g.db = mysql.connector.connect(**MYSQL_CONFIG)
Traceback (most recent call last):
^^^^^^^^^^^^^^^^^^^
The above exception was the direct cause of the following exception:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/app.py", line 22, in
File "/usr/local/lib/python3.11/site-packages/mysql/connector/pooling.py", line 293, in connect
File "/app/core/banco.py", line 25, in init_db
init_db()
return CMySQLConnection(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
db, cursor = get_db()
Traceback (most recent call last):
^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/mysql/connector/connection_cext.py", line 308, in _open_connection
File "/app/serve.py", line 3, in
self._cmysql.connect(**cnx_kwargs)
_mysql_connector.MySQLInterfaceError: Can't connect to MySQL server on 'localhost:3306' (111)
self.connect(**kwargs)
File "/usr/local/lib/python3.11/site-packages/mysql/connector/abstracts.py", line 1237, in connect
self._open_connection()
File "/usr/local/lib/python3.11/site-packages/mysql/connector/connection_cext.py", line 313, in _open_connection
raise get_mysql_exception(
mysql.connector.errors.DatabaseError: 2003 (HY000): Can't connect to MySQL server on 'localhost:3306' (111)
File "/usr/local/lib/python3.11/site-packages/mysql/connector/connection_cext.py", line 129, in init
Starting Container
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Verificando banco de dados MySQL...
Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/mysql/connector/pooling.py", line 293, in connect
File "/usr/local/lib/python3.11/site-packages/mysql/connector/connection_cext.py", line 308, in _open_connection
return CMySQLConnection(*args, **kwargs)
self._cmysql.connect(**cnx_kwargs)
_mysql_connector.MySQLInterfaceError: Can't connect to MySQL server on 'localhost:3306' (111)
Status changed to Open chandrika • 2 months ago
2 months ago
You should not be connecting to MySQL on localhost. Railway's MySQL instance provides a reference variable ${{MySQL.MYSQL_URL}} that you should be adding to your service.
alexjr0204-prog
File "/app/core/[banco.py](http://banco.py)", line 19, in get\_db Verificando banco de dados MySQL... from app import app # Mantém o teu import original g.db = mysql.connector.connect(\*\*MYSQL\_CONFIG) Traceback (most recent call last): ^^^^^^^^^^^^^^^^^^^ The above exception was the direct cause of the following exception: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/app/[app.py](http://app.py)", line 22, in <module> File "/usr/local/lib/python3.11/site-packages/mysql/connector/[pooling.py](http://pooling.py)", line 293, in connect File "/app/core/[banco.py](http://banco.py)", line 25, in init\_db init\_db() return CMySQLConnection(\*args, \*\*kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ db, cursor = get\_db() Traceback (most recent call last): ^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/mysql/connector/connection\_[cext.py](http://cext.py)", line 308, in _open_connection File "/app/[serve.py](http://serve.py)", line 3, in <module> self.\_cmysql.connect(\*\*cnx\_kwargs) _mysql_connector.MySQLInterfaceError: Can't connect to MySQL server on '[localhost:3306](http://localhost:3306)' (111) self.connect(\*\*kwargs) File "/usr/local/lib/python3.11/site-packages/mysql/connector/[abstracts.py](http://abstracts.py)", line 1237, in connect self.\_open\_connection() File "/usr/local/lib/python3.11/site-packages/mysql/connector/connection\_[cext.py](http://cext.py)", line 313, in _open_connection raise get\_mysql\_exception( mysql.connector.errors.DatabaseError: 2003 (HY000): Can't connect to MySQL server on '[localhost:3306](http://localhost:3306)' (111) File "/usr/local/lib/python3.11/site-packages/mysql/connector/connection\_[cext.py](http://cext.py)", line 129, in **init** Starting Container ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Verificando banco de dados MySQL... Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/mysql/connector/[pooling.py](http://pooling.py)", line 293, in connect File "/usr/local/lib/python3.11/site-packages/mysql/connector/connection\_[cext.py](http://cext.py)", line 308, in _open_connection return CMySQLConnection(\*args, \*\*kwargs) self.\_cmysql.connect(\*\*cnx\_kwargs) _mysql_connector.MySQLInterfaceError: Can't connect to MySQL server on '[localhost:3306](http://localhost:3306)' (111)
2 months ago
Your MYSQL_CONFIG in banco.py is hardcoded to localhost — change the host to ${{MySQL.MYSQLHOST}} (which resolves to mysql.railway.internal) via an environment variable.
Status changed to Solved 0x5b62656e5d • about 1 month ago