MySql Python连接

2024-09-26 22:45:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试将python与MySQL连接,但出现以下错误:

OperationalError: (1045, "Access denied for user 'root'@'localhost' (using password: NO)")

我试图解决它6个小时,但我失败了。有人能帮我吗?


Tags: nolocalhostforaccess错误mysqlrootpassword
3条回答

您没有指定根密码。 如果您是从远程计算机访问mysql。。。默认情况下,根用户仅限于本地主机连接。请尝试运行此命令以从任何位置启用访问:

GRANT ALL PRIVILEGES ON *.* TO root@'%' IDENTIFIED BY "YOUR_ROOT_PASSWORD";
FLUSH PRIVILEGES;

还要检查防火墙设置。

import MySQLdb

cxn = MySQLdb.connect(host = 'localhost',user = 'root',passwd = 'password', db = 'yourdatabase')

因此,您需要知道您的密码是什么,并且您需要创建一个包含以下内容的数据库:

CREATE DATABASE yourdatabase;

从上面描述的mysql命令行。

这意味着您忘记了password参数,这在mysql中是不需要的。

从unix命令行:

$ mysql -u root
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
$ mysql -u root -p
Enter password: 
<typing password>
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 47
Server version: 5.1.37-1ubuntu5.5 (Ubuntu)

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 

与python中的日志记录不完全相同

但这是同一个错误,而且很可能意味着在您的情况下,password参数根本没有进入mysql。

当我键入错误的密码时,在命令行上会出现一个完全不同的错误:

$ mysql -u root -p
Enter password: 
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

相关问题 更多 >

    热门问题