情况
我正在尝试解决 Python 和 MYSQL 之间的问题。我发现自己暂时被迫在 Windows 11 机器上进行开发。我不确定这是否就是我遇到问题的原因,因为我在 *NIX 机器上从未遇到过问题。我本机使用 MYSQL 8.0.40 和 Python 3.13 64 位,并通过 PIP 安装 MYSQL-Connector-Python。
问题 当我尝试连接并创建、编辑、查看数据库或表时,我没有收到任何错误,但也没有采取任何操作。基本上,我已经确认我可以从Python连接到MYSQL,但似乎没有执行任何SQL语句。
行动 我从 MS 安装程序和 Python 安装了 MYSQL,没有出现任何问题。我使用 pip install mysql-connector-python 安装连接器没有问题。
我正在使用测试示例来连接到现有数据库:
import mysql.connector
cnx = mysql.connector.connect(user='user', password='pass',
host='localhost',
database='testdb')
cnx.close()
当我运行脚本时,没有错误,所以我认为它可以工作。我尝试使用各种 IP 更改主机并收到超时错误,因此我假设它正在连接。
然后我尝试使用以下命令创建一个新的数据库:
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword"
)
mycursor = mydb.cursor()
mycursor.execute("CREATE DATABASE mydatabase")
没有错误,但没有创建数据库。我已经用现有数据库尝试过此操作并创建了一个表,但没有成功。我已经检查了权限,并且我使用了MYSQL root用户和具有完全权限的admin用户。
故障排除 我怎样才能看到正在发生的事情?例如,是否有一个日志可以解释这里发生的事情。这是 Win 操作系统上权限的常见问题吗?如果有人可以建议可能发生的事情,我们将不胜感激。
任何帮助将不胜感激。
我仍然不知道为什么,但这个方法有效:
import mysql.connector
cnx = mysql.connector.connect(user='scott', password='password',
host='127.0.0.1',
database='employees')
cnx.close()
但是这个方法不会:
from mysql.connector import (connection)
cnx = connection.MySQLConnection(user='scott', password='password',
host='127.0.0.1',
database='employees')
cnx.close()
令我困惑的是,在 MYSQL Connector/Python 开发人员指南中,它指出这两种方法都有效,并且首选第一种方法,当然是我的运气。
任何想法为什么,我想学习、修复和解决。
谢谢,