繁体   English   中英

Python连接到MySQL数据库名称错误

[英]Python connecting to MySQL database name error

我从该站点获得以下代码,以通过python连接到mysql数据库(顺便提一下)。 我曾经使用它来连接服务器上的数据库,但使用的是其他文件。 但是我知道要连接到同一服务器上的另一个数据库,但是我不断收到与数据库名称有关的错误消息。 我正在使用与连接之前完全相同的代码,但是我只将数据库名称更改为我要连接的另一个名称。 我可以通过puTTY查看数据库,并看到它被称为正确的名称,并且所有数据都存在,但是似乎无法通过Python正确连接。

在此先感谢您的帮助!

  #!/usr/bin/python
import MySQLdb

db = MySQLdb.connect(host="127.0.0.1", # your host, usually localhost
                     user="root", # your username
                      passwd="........", # your password
                      db="opt_out") # name of the data base

# you must create a Cursor object. It will let
#  you execute all the query you need
cur = db.cursor() 

# Use all the SQL you like
cur.execute("SELECT * FROM opted_in")

# print all the first cell of all the rows
for row in cur.fetchall() :
    print row[0]

这是我尝试通过puTTY执行python文件时得到的错误代码:

Traceback (most recent call last):
  File "/var/www/html/vra/ConnectAdiDB.py", line 7, in <module>
    db="opt_out") # name of the data base
  File "/usr/lib64/python2.6/site-packages/MySQLdb/__init__.py", line 81, in Connect
    return Connection(*args, **kwargs)
  File "/usr/lib64/python2.6/site-packages/MySQLdb/connections.py", line 187, in __init__
    super(Connection, self).__init__(*args, **kwargs2)
_mysql_exceptions.OperationalError: (1045, "Access denied for user 'root'@'localhost' (using password: YES)")

密码一定是错误的(我认为是)

因此,尝试重置密码,以便:首先像这样关闭mysql服务

Ubuntu / Debian:

sudo service mysql stop

之后,请执行以下操作:

sudo service mysql start

当完成启动mysql这样的时候:

sudo mysql

执行:

UPDATE mysql.user SET Password=PASSWORD('NEW-PASSWORD') WHERE User='root';
FLUSH PRIVILEGES;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM