Php mysql.connector.errors.ProgrammingError:1045(28000):拒绝用户访问';xpto&x27@';本地主机';(使用密码:是)
当我试图使用python mysql.connector版本8.0.15访问mysql服务器(MariaDB v10.1.37)时,我遇到了一个问题。Php mysql.connector.errors.ProgrammingError:1045(28000):拒绝用户访问';xpto&x27@';本地主机';(使用密码:是),php,python,mysql,mysql-python,Php,Python,Mysql,Mysql Python,当我试图使用python mysql.connector版本8.0.15访问mysql服务器(MariaDB v10.1.37)时,我遇到了一个问题。 我正在尝试从数据库读取数据,但在尝试连接到mysql服务器时出错。 python脚本的代码是: import mysql.connector from mysql.connector import errorcode mysql_config = { 'user':'xpto', 'password':'1234', '
我正在尝试从数据库读取数据,但在尝试连接到mysql服务器时出错。
python脚本的代码是:
import mysql.connector
from mysql.connector import errorcode
mysql_config = {
'user':'xpto',
'password':'1234',
'host':'127.0.0.1', # I tried too 'localhost'
'port':3306, # I tried too '3306'
'database':'manta'
}
print(mysql.connector.__version__)
conn = mysql.connector.connect(**mysql_config)
conn.close()
我得到的错误是:
mysql.connector.errors.ProgrammingError:1045(28000):访问被拒绝
对于用户“xpto”@“localhost”(使用密码:YES)
所以我开始调试代码
要检查my mysql是否正在运行,请执行以下操作:
- 在shell上,我执行'mysql-uxpto-p1234'进入服务器,并在我的数据库中写入
- 我在lampp上执行了一个php脚本,没有任何错误。该脚本创建与mysqli的连接并在DB上写入。 通过phpAdmin和shell,我检查了这篇文章
+-----------------------------------------------------------------------------------------------------------------------------------------+
| Grants for xpto@localhost |
+-----------------------------------------------------------------------------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'xpto'@'localhost' IDENTIFIED BY PASSWORD '*F1D0B735317D750FFFFD3FE51E571EFBF4FFFF1D' WITH GRANT OPTION |
+-----------------------------------------------------------------------------------------------------------------------------------------+
另一种通过python脚本在my db上编写的方法是执行子流程:
from subprocess import Popen, STDOUT
p = Popen(["mysql", "-u", "xpto", "-p1234"],
stdin=PIPE, stderr=STDOUT)
p.communicate(b"exit")
if p.returncode != 0:
print('incorrect password')
我执行这个脚本没有任何问题
另一种方法是将python脚本的权限更改为777,但错误仍然存在
更多信息:我在/opt/lampp/htdocs/context上运行php脚本,在~/Desktop-context上运行python脚本 问题:
因此,我试图理解为什么不能使用mysql.connector连接到mysql服务器。
为什么会发生错误?我正在传递正确的用户和密码。
请您帮助我理解为什么会发生此问题?我希望
F1D0B735317D750FFFFD3FE51E571EFBF4FFFF1D
不是您的实际密码。只是想确保你没有泄露秘密。你运行的是什么SQL server,MySQL还是MariaDB?以防万一,谢谢你的关注。不。那个散列不是我的实际密码:)但是谢谢。我使用的是MariaDB,版本10.1.37。