Асинхронное соединение с mysql
синхронное соединение использует MySQLdb и успешно подключается, при этом асинхронное соединение использует pymysql и aiomysql, но не подключается, выводят ошибку sqlalchemy.exc.OperationalError: (pymysql.err.OperationalError) (2003, "Can't connect to MySQL server on 'localhost'") (Background on this error at: https://sqlalche.me/e/20/e3q8)
url для асинхронного соединения 'mysql+aiomysql://root:[email protected]:3306/db'
url для синхронного 'mysql://root:[email protected]:3306/db'
async_engine = create_async_engine(
url = conf.db.database_url,
echo = True
)
async_session = async_sessionmaker(async_engine)
проверил через aiomysql напрямую:
import aiomysql
async def test_connection():
try:
# Установка соединения с базой данных
connection = await aiomysql.connect(
host='127.0.0.1',
port=3306,
user='root',
password='password',
db='db',
charset='utf8mb4'
)
# Проверка подключения
if connection:
print("Успешно подключено к базе данных!")
# Закрытие соединения
await connection.close()
except Exception as e:
print(f"Ошибка подключения к базе данных: {e}")
# Запуск асинхронной функции проверки подключения
asyncio.run(test_connection())
вывод:
Ошибка подключения к базе данных: (2003, "Can't connect to MySQL server on '127.0.0.1'")