提问者:小点点

尝试将蟒蛇连接到mySQL数据库时出现“访问错误”


我试图将python连接到mysql数据库,但它为用户“root”@'本地主机'提供拒绝访问。我使用的是 linux 操作系统。

这是我的代码:

import mysql.connector as sa
db = sa.connect(host="localhost",user="root",password="sandy123",database="school")
print(db)

这就是错误。

回溯(最近的最后一次调用):文件"/home/Sandytom/. loc/lib/python3.6/Site e-的包/mysql/连接器/connection_cext.py",第216行,在_open_connection中。_cmysql.connect(**cnx_kwargs)_mysql_connector。MySQLInterfaceError:用户'root'@'localhost'的访问被拒绝

在处理上述异常期间,发生了另一个异常:

回溯(最近一次调用的最后一次):文件“swip.py”,第2行,db=fuck。connect(host=“localhost”,user=“root”,password=“sandy123”)文件“/home/sandytom/.local/lib/python3.6/site packages/mysql/connector/init.py”,第264行,在connect中返回CMySQLConnection(*args,**kwargs)文件“/home/sandytom/.local/lib/pyphon3.6/site-packages/mysql-connector/connection_cext.py”,第80行,在init-self中。connect(**kwargs)文件“/home/sandytom/.local/lib/python3.6/site packages/mysql/connector/abstracts.py”,第966行,位于connect self中_open_connection()文件“/home/sandytom/.local/lib/python3.6/site packages/mysql/connector/connection_cext.py”,第219行,在_open_connection-sqlstate=exc中。sqlstate)mysql.connector.errors。编程错误:1698(28000):用户“root”@“localhost”的访问被拒绝sandytom@sandytom-Lenovo-ideapad-320-15ISK:~/Desktop/ruber$python3 swip。py追溯(最近一次调用):文件“/home/sandytom/.local/lib/python3.6/site packages/mysql/connector/connection_cext.py”,第216行,位于_open_connection self.cmysql中。连接(**cnx_kwargs)_mysql_connector。MySQLInterfaceError:用户“root”@“localhost”的访问被拒绝

在处理上述异常期间,发生了另一个异常:

回溯(最近一次调用最后):文件“swip.py”,第 2 行,在 db = fuck.connect(主机 =“本地主机”,用户=“根”,密码=“sandy123”,数据库=“学校”) 文件“/家/沙顿/.本地/lib/python3.6/site-package/mysql/连接器/init.py”,第 264 行,在连接中返回 CMySQL 连接 (*args, **kwargs) 文件“/家/沙通/.本地/库/蟒蛇3.6/site-packages/mysql/连接器/connection_cext.py”,第 80 行,初始化自连接(**kwargs) 文件“/家/沙洞/本地/库/库/蟒蛇3。6/站点包/mysql/连接器/摘要.py“,第 966 行,在连接self._open_connection() 文件中”/主页/沙顿/.本地/库/python3.6/站点包/mysql/连接器/connection_cext.py“,第 219 行,在 _open_connection sqlstate=exc.sqlstate) mysql.connector.errors.编程错误: 1698 (28000): 用户 ”root'@'localhost' 的访问被拒绝


共1个答案

匿名用户

在这种情况下,仔细阅读错误消息会有所帮助。以下是消息的重要部分:

拒绝用户“root”@“本地主机”的访问

看起来您给MySQL的用户名/密码组合无效root可能是正确的,因此您应该检查密码。

一个好的方法是尝试使用MySQL客户端程序登录,例如mysql客户端程序或海迪SQL。这样,您就可以确保在运行python程序之前拥有正确的密码。