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

时间:2013-05-07 13:43:28

标签: python mysql

我从这个站点获得了以下代码,通过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)")

1 个答案:

答案 0 :(得分:0)

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

所以尝试重置密码,以便: 首先关闭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;