Задать вопрос
@Maxwell012

Как подключиться к MySQL?

Я пытаюсь подключиться к бд которая располагается в google cloud platforms. Пытаюсь подключится так:
config = {
    'host': '****',
    'port': 3306,
    'user': 'root',
    'password': '****',
    'database': 'dbforhistory'
}

def create_connection():
    while True:
        try:
            pool = pymysqlpool.ConnectionPool(
                size=thread,
                maxsize=thread,
                pre_create_num=thread,
                name='pool',
                **config)
            logger_db.info('--- Database connection successful ---')
            return pool
        except Exception as ex:
            logger_db.warning('Connection refused...', exc_info=True)

Ошибка выглядит так:
10-07 20:30:27  WARNING: Connection refused...
Traceback (most recent call last):
  File "***\data_base\mysql_db.py", line 14, in create_connection
    pool = pymysqlpool.ConnectionPool(
  File "***\venv\lib\site-packages\pymysqlpool.py", line 158, in __init__
    conn = self._create_connection()
  File "***\venv\lib\site-packages\pymysqlpool.py", line 237, in _create_connection
    conn = Connection(*self._args, **self._kwargs)
  File "***\venv\lib\site-packages\pymysqlpool.py", line 30, in __init__
    pymysql.connections.Connection.__init__(self, *args, **kwargs)
  File "***\venv\lib\site-packages\pymysql\connections.py", line 353, in __init__
    self.connect()
  File "***\venv\lib\site-packages\pymysql\connections.py", line 633, in connect
    self._request_authentication()
  File "***\venv\lib\site-packages\pymysql\connections.py", line 907, in _request_authentication
    auth_packet = self._read_packet()
  File "***\venv\lib\site-packages\pymysql\connections.py", line 725, in _read_packet
    packet.raise_for_error()
  File "***\venv\lib\site-packages\pymysql\protocol.py", line 221, in raise_for_error
    err.raise_mysql_exception(self._data)
  File "***\venv\lib\site-packages\pymysql\err.py", line 143, in raise_mysql_exception
    raise errorclass(errno, errval)
pymysql.err.OperationalError: (1045, "Access denied for user 'root'@'****' (using password: YES)")

Хочу сразу сказать я новичок в подкл к бд на удаленной машине, не судите строго.
Я думаю я где-то в конфиге возможно ошибся, я сейчас напишу где я брал данные возможно в них и есть ошибка:
  • host - айпи бд на первой странице самой бд
  • port - как я понимаю все порты бд у меня открыты, так что я выбрал 3306
  • user - тоже брал по классике и если я не ошибаюсь так было написано в документации
  • password - я его вписывал при создании бд
  • database - та база которую я создал

Также хотел спросить как экспортировать свою бд потому что я не нашел как это сделать
  • Вопрос задан
  • 127 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
@AlexVWill
Проверь, возможно твой пользователь 'root' имеет права только на localhost. И под root лучше не работать, зайди через консоль в систему и локально создатель пользователя, который имеет удаленный доступ (hostname должно быть не localhost, a %)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы