我有一个 mysql 数据库,我通过像 www.mydomain-database.com
这样的域获取它。这个域是由一家公司提供的,用于通过 phpmyadmin 访问我的数据库。当我浏览这个域时,它会获取 phpmyadmin 登录页面。
我尝试通过以下代码连接到这个数据库:
db = mysql.connector.connect(
host = "www.mydomain-database.com",
user = "root",
passwd = "**",
database = "database",
charset = 'utf8', use_unicode=True
)
当我运行它时,我得到以下异常(exception):
Can't connect to MySQL server on 'https://www.mydomain-database.com:3306' (-2 Name or service not known)
如您所见,连接器将端口 3306
添加到我的主机;但是带有此端口的 url 无效并且它不会获取 phpmyadmin!
因此,为了取消该更改,我添加了 port = ""
作为我的连接的参数,但我收到另一个错误,指出端口必须是整数!
现在的问题是,当连接器尝试连接主机时,如何删除该端口号?
最佳答案
您必须提供一个端口。默认情况下,MySQL 使用端口 3306。如果您的 MySQL 实例使用不同的端口,那么您可以在设置中指定该端口。
您是否有权访问 MySQL 实例? 如果是这样,您可以尝试运行:
mysql> SHOW GLOBAL VARIABLES LIKE 'PORT';
获取您的端口号。
但是,您的错误消息指的是服务器 https:// 这是不正常的,不应该有任何对 https://
的引用你能在你的应用程序中检查你的代码并确保
host = "www.mydomain-database.com"
不是
host = "https://www.mydomain-database.com"
关于Python:使用 'Null' 作为 mysql.connector 的端口参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57593309/