ошибка тайм-аута при подключении к базе данных mysql (обновлено) - PullRequest
0 голосов
/ 19 марта 2020

Я хочу создать программу python, которая использует базу данных mysql. Для этого я попытался создать соединение с моей базой данных mysql, используя python IDLE с этой строкой кода:

import mysql.connector
db = mysql.connector.connect(user="root", database="sys", host="127.0.0.0")

Каждый раз, когда я вводю этот код в IDLE, он возвращает это сообщение:

Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/mysql/connector/network.py", line 509, in open_connection
    self.sock.connect(sockaddr)
TimeoutError: [Errno 60] Operation timed out

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<pyshell#1>", line 1, in <module>
    db = mysql.connector.connect(user="root", database="sys", host="127.0.0.0")
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/mysql/connector/__init__.py", line 179, in connect
    return MySQLConnection(*args, **kwargs)
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/mysql/connector/connection.py", line 95, in __init__
    self.connect(**kwargs)
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/mysql/connector/abstracts.py", line 716, in connect
    self._open_connection()
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/mysql/connector/connection.py", line 206, in _open_connection
    self._socket.open_connection()
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/mysql/connector/network.py", line 511, in open_connection
    raise errors.InterfaceError(
mysql.connector.errors.InterfaceError: 2003: Can't connect to MySQL server on '127.0.0.0:3306' (60 Operation timed out)

В этой ситуации я работаю с python 3.8. update

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

А потом это происходит в терминале:

>>> import mysql.connector
>>> a = mysql.connector.connect(user="hassan", password="**********",        database="sys", host="127.0.0.1")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File   "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-  packages/mysql/connector/__init__.py", line 179, in connect
    return MySQLConnection(*args, **kwargs)
  File   "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-  packages/mysql/connector/connection.py", line 95, in __init__
    self.connect(**kwargs)
  File   "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-  packages/mysql/connector/abstracts.py", line 716, in connect
    self._open_connection()
  File   "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-  packages/mysql/connector/connection.py", line 208, in _open_connection
    self._do_auth(self._user, self._password,
  File    "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-  packages/mysql/connector/connection.py", line 137, in _do_auth
    packet = self._protocol.make_auth(
   File  "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site- packages/mysql/connector/protocol.py", line 99, in make_auth
    packet += self._auth_response(client_flags, username, password,
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site- packages/mysql/connector/protocol.py", line 58, in _auth_response
    auth = get_auth_plugin(auth_plugin)(
  File  "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site- packages/mysql/connector/authentication.py", line 190, in get_auth_plugin
    raise errors.NotSupportedError(
mysql.connector.errors.NotSupportedError: Authentication plugin     'caching_sha2_password' is not supported

У кого-нибудь есть объяснение этому?

...