我试图从Python连接到一个现有的MySQL数据库,并创建一个表。代码如下:from getpass import getpass
from mysql.connector import connect, Error
def connect_db():
try:
with connect(
host="localhost",
user=input("Enter username: "),
password=getpass("Enter password: "),
database="online_movie_rating",
) as connection :
return connection
except Error as e:
print(e)
create_ratings_table_query = """
CREATE TABLE ratings (
movie_id INT,
reviewer_id INT,
rating DECIMAL(2,1),
FOREIGN KEY(movie_id) REFERENCES movies(id),
FOREIGN KEY(reviewer_id) REFERENCES reviewers(id),
PRIMARY KEY(movie_id, reviewer_id)
);
"""
cnx = connect_db()
print(cnx)
cursor = cnx.cursor()
cursor.execute(create_ratings_table_query)
cnx.commit()
当我注释最后3行时,我能够打印connection对象。但是,当我取消注释并尝试运行时,我得到以下错误:cursor = cnx.cursor()
mysql.connector.errors.OperationalError: MySQL Connection not available.
我使用Fedora33操作系统,Python3.8.5和conda环境,使用VS代码作为IDE。pip已经安装了mysql-connector-python。
谁能帮帮忙吗?做了很多谷歌搜索,但没有找到一个明确的答案。
提前致谢