Как подключиться к mariadb из pymysql?

Ссылка скопирована
1 ответ

При попытке запустить скрипт почему-то возникает ошибка (1045, "Access denied for user 'bot'@'my_local_ip' (using password: YES)"), хотя логин пароль верные. настройки на сервере тоже вроде все правильные, помогите разобраться...

Вот скрипт:
from config import host, db_user, password, db_name
import pymysql

def database():
try:
connection = pymysql.connect(
host=host,
port=3306,
user= bot,
password=password,
database= test_db,
cursorclass=pymysql.cursors.DictCursor
)
print('successfully connected to coinsniper DB!')

try:
with connection.cursor() as cursor:
select_all_rows = "SELECT * FROM users"
cursor.execute(select_all_rows)
rows = cursor.fetchall()
for row in rows:
print(row)
finally:
connection.close()

except Exception as ex:
print('Connection refused...')
print(ex)

database()

Конфигурация базы mariadb и удаленного пользователя:
DB - 'test_db'
username 'bot':
GRANT USAGE ON *.* TO `bot`@`%` IDENTIFIED BY PASSWORD '*A2D561F8621B6'
GRANT ALL PRIVILEGES ON `test_db `.* TO `bot`@`%` WITH GRANT OPTION

ip в параметре bind-address файла /etc/mysql/mariadb.conf.d/50-server.cnf исправлен на = 0.0.0.0

Версии ПО:
10.5.11-MariaDB-1
Debian GNU/Linux 11 (bullseye)

Дополнительно:

Ответы:

А помимо грантов, в таблице users, все правильно прописано?

  • а что там еще может быть не правильно? на что обратить внимание?
    забыл уточнить, это все перестало работать после переноса базы (дампа)...
    при том, он же не ругается на таблицу, он вообще зайти не дает "Access denied for use".
Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Стас DB Ответ

Для подключения к MariaDB из Python с использованием библиотеки PyMySQL, вам необходимо выполнить следующие шаги:

1. Установите PyMySQL, если у вас его еще нет. Вы можете сделать это с помощью pip:

pip install pymysql

pip install pymysql

2. Импортируйте библиотеку PyMySQL в свой скрипт:

import pymysql

import pymysql

3. Создайте подключение к базе данных MariaDB, указав параметры подключения, такие как хост, пользователя, пароль и название базы данных:

connection = pymysql.connect(
    host='localhost',
    user='username',
    password='password',
    database='dbname'
)

connection = pymysql.connect( host='localhost', user='username', password='password', database='dbname' )

4. Создайте курсор для выполнения SQL-запросов:

cursor = connection.cursor()

cursor = connection.cursor()

5. Теперь вы можете выполнять SQL-запросы, например, с помощью метода `execute()`:

cursor.execute("SELECT * FROM table")

cursor.execute("SELECT * FROM table")

6. Не забудьте закрыть курсор и соединение после завершения работы с ними:

cursor.close()
connection.close()

cursor.close() connection.close()

Таким образом, вы сможете успешно подключиться к базе данных MariaDB из Python с использованием библиотеки PyMySQL.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно