Python MySQL соединяется с ошибкой базы данных - PullRequest
0 голосов
/ 17 ноября 2018

Я пытаюсь создать небольшое приложение с Python и MySQL.Мне удалось соединить Python и MySQL, используя соединение MySQL.Но теперь, когда я пытаюсь запустить этот скрипт для фактического соединения с базой данных:

import mysql.connector

mydb = mysql.connector.connect(
    passwd="12345", 
    db="DB", 
    host="hostname", 
    user="root"
    )
print(mydb)

, я получаю много ошибок, таких как:

 File "C:\Users\Krystian\AppData\Local\Programs\Python\Python37-32\lib\site-packages\mysql\connector\network.py", line 485, in open_connection
socket.SOL_TCP)

File "C:\Users\Krystian\AppData\Local\Programs\Python\Python37-32\lib\socket.py", line 748, in getaddrinfo
    for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: [Errno 11001] getaddrinfo failed
File "c:/Users/Krystian/Desktop/DB/db.py", line 7, in <module>
    user="root"

  File "C:\Users\Krystian\AppData\Local\Programs\Python\Python37-32\lib\site-packages\mysql\connector\__init__.py", line 179, in connect
    return MySQLConnection(*args, **kwargs)
  File "C:\Users\Krystian\AppData\Local\Programs\Python\Python37-32\lib\site-packages\mysql\connector\connection.py", line 94, in __init__
    self.connect(**kwargs)
  File "C:\Users\Krystian\AppData\Local\Programs\Python\Python37-32\lib\site-packages\mysql\connector\abstracts.py", line 722, in connect
    self._open_connection()
  File "C:\Users\Krystian\AppData\Local\Programs\Python\Python37-32\lib\site-packages\mysql\connector\connection.py", line 207, in _open_connection
    self._socket.open_connection()
  File "C:\Users\Krystian\AppData\Local\Programs\Python\Python37-32\lib\site-packages\mysql\connector\network.py", line 501, in open_connection
    errno=2003, values=(self.get_address(), _strioerror(err)))
mysql.connector.errors.InterfaceError: 2003: Can't connect to MySQL server on 'hostname:3306' (11001 getaddrinfo failed)

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

Заранее благодарим за любую помощь!

EDIT1

Как упоминалось Juergen , после исправления имени хоста большинство ошибок, указанных выше, пропали, но новыеПоявились:

File "C:\Users\Krystian\AppData\Local\Programs\Python\Python37-32\lib\site-packages\mysql\connector\connection.py", line 94, in __init__
    self.connect(**kwargs)
  File "C:\Users\Krystian\AppData\Local\Programs\Python\Python37-32\lib\site-packages\mysql\connector\abstracts.py", line 722, in connect
    self._open_connection()
  File "C:\Users\Krystian\AppData\Local\Programs\Python\Python37-32\lib\site-packages\mysql\connector\connection.py", line 211, in _open_connection
    self._ssl)
  File "C:\Users\Krystian\AppData\Local\Programs\Python\Python37-32\lib\site-packages\mysql\connector\connection.py", line 141, in _do_auth
    auth_plugin=self._auth_plugin)
  File "C:\Users\Krystian\AppData\Local\Programs\Python\Python37-32\lib\site-packages\mysql\connector\protocol.py", line 102, in make_auth
    auth_data, ssl_enabled)
  File "C:\Users\Krystian\AppData\Local\Programs\Python\Python37-32\lib\site-packages\mysql\connector\protocol.py", line 58, in _auth_response
    auth = get_auth_plugin(auth_plugin)(
  File "C:\Users\Krystian\AppData\Local\Programs\Python\Python37-32\lib\site-packages\mysql\connector\authentication.py", line 191, in get_auth_plugin
    "Authentication plugin '{0}' is not supported".format(plugin_name))
mysql.connector.errors.NotSupportedError: Authentication plugin 'caching_sha2_password' is not supporte

Ответы [ 3 ]

0 голосов
/ 17 ноября 2018

попробуйте это:

mysql.connector.connect(
        host="localhost",
        user="user_name",
        passwd="db_password",
        database="db_name")
0 голосов
/ 18 ноября 2018

Хорошо, исправлено, как уже упоминалось выше, правильное имя хоста, и возвращение к прежней безопасности вместе с созданием новой базы данных устранило проблему

0 голосов
/ 17 ноября 2018

Полагаю, ваш компьютер (на котором работает база данных) не называется "hostname":

    host="hostname", 

Если это локальный компьютер, попробуйте localhost."hostname" - это просто заполнитель внутри примера кода.Вы всегда должны заменять такие.

О редактировании:

Похоже, ваш сервер БД неправильно настроен.Может быть, вам нужен тот плагин, который назван в сообщении об ошибке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...