Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python MySQL连接到数据库错误_Python_Mysql_Database - Fatal编程技术网

Python MySQL连接到数据库错误

Python MySQL连接到数据库错误,python,mysql,database,Python,Mysql,Database,我正在尝试用Python和MySQL创建一个小应用程序。 我使用MySQL连接成功地连接了Python和MySQL。但现在,当我尝试运行此脚本以实际连接到数据库时: import mysql.connector mydb = mysql.connector.connect( passwd="12345", db="DB", host="hostname", user="root" ) print(mydb) 我犯了很多错误,比如: File "

我正在尝试用Python和MySQL创建一个小应用程序。 我使用MySQL连接成功地连接了Python和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)
我猜,您的计算机(数据库运行的地方)没有命名为“主机名”:

如果是本地计算机,请尝试
localhost
。“主机名”只是示例代码中的一个占位符。你总是要更换这样的东西

关于您的编辑:

看起来您的数据库服务器配置错误。可能您需要在错误消息中命名的插件。

我想,您的计算机(数据库运行的地方)没有命名为“主机名”:

如果是本地计算机,请尝试
localhost
。“主机名”只是示例代码中的一个占位符。你总是要更换这样的东西

关于您的编辑:

看起来您的数据库服务器配置错误。可能您需要在错误消息中命名的插件。

尝试以下操作:

mysql.connector.connect(
        host="localhost",
        user="user_name",
        passwd="db_password",
        database="db_name")
试试这个:

mysql.connector.connect(
        host="localhost",
        user="user_name",
        passwd="db_password",
        database="db_name")

刚刚修复了这个问题,旧错误消失了,但新错误出现了。Dok将安全性更改回legacy删除了关于插件的错误。其余的错误仍然存在只是修复了,旧的错误消失了,但新的错误出现了,将安全性更改回旧版本删除了关于插件的错误。其余的错误仍然没有解决这个问题没有解决这个问题
mysql.connector.connect(
        host="localhost",
        user="user_name",
        passwd="db_password",
        database="db_name")