首页 > 解决方案 > MySQL 与 Python 的连接不起作用

问题描述

我想通过 Python 连接 MySQL,虽然我成功地使用直接写入用户名、密码等凭据进行连接,但我想让它有点动态。所以我尝试了:

import mysql.connector
import pandas as pd

def connection():
  host=input('Enter host')
  user=input('Enter User Name')
  passwd=int(input('passwd'))
  database=input('database')
  mydb= mysql.connector.connect(host="host", user="user", passwd="passwd", database="database")
return mydb
  connection()   

但是,它最终给出了错误:

InterfaceError: 2003: Can't connect to MySQL server on 'host:3306' (11001 getaddrinfo failed)

请帮帮我。如果您在带来一些动态用户输入凭据的同时有更好的解决方案,我将非常感激。谢谢你。

标签: pythonmysqldatabase-connection

解决方案


您正在将“主机”之类的搅拌传递给数据库,而不是变量

所以删除双引号,如

import mysql.connector
import pandas as pd

def connection():
  host=input('Enter host')
  user=input('Enter User Name')
  passwd=int(input('passwd'))
  database=input('database')
  mydb= mysql.connector.connect(host=host, user=user, passwd=passwd, database=database)
return mydb
  connection()   

推荐阅读