我试图创建一个使用运行12.04 Ubuntu主机上的MySQL远程数据库SQLAlchemy的OperationalError:(OperationalError)(1045,“访问被拒绝的用户
它与远程登录enabled.I root用户拥有。启动服务器。
输出的
sudo netstat -tap | grep mysql
显示
tcp 0 0 *:mysql *:* LISTEN 13135/mysqld
从也运行Ubuntu 12.04的客户端机器,我使用python脚本使用sqlalchemy连接到远程mysql数据库。
from pox.core import core
import pox.openflow.libopenflow_01 as of
import re
import datetime
import time
from sqlalchemy import create_engine, ForeignKey
from sqlalchemy import Column, Date, Integer, String
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import relationship, backref
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
from sqlalchemy.sql.expression import exists
log = core.getLogger()
engine = create_engine('mysql://root:[email protected]/home/karthik.sharma/ms_thesis/nwtopology.db', echo=False)
Base = declarative_base()
Session = sessionmaker(bind=engine)
session = Session()
class SourcetoPort(Base):
""""""
__tablename__ = 'source_to_port'
id = Column(Integer, primary_key=True)
port_no = Column(Integer)
src_address = Column(String,index=True)
#-----------------------------------------
def __init__(self, src_address,port_no):
""""""
self.src_address = src_address
self.port_no = port_no
create_engine()调用失败,出现以下错误。
return dialect.connect(*cargs, **cparams)
File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/default.py", line 280, in connect
return self.dbapi.connect(*cargs, **cparams)
File "/usr/lib/python2.7/dist-packages/MySQLdb/__init__.py", line 81, in Connect
return Connection(*args, **kwargs)
File "/usr/lib/python2.7/dist-packages/MySQLdb/connections.py", line 187, in __init__
super(Connection, self).__init__(*args, **kwargs2)
OperationalError: (OperationalError) (1045, "Access denied for user 'root'@'openflow.ems.com' (using password: YES)") None None
我想不通为什么会发生这种情况?
看来你所说的是数据库本身(nwtopology)必须创建之前,我可以使用create_engine()从sqlalchemy.I最初有一个本地数据库使用sqlite它创建数据库,如果不存在否则它会打开现有的数据库。我认为我处于这种思维模式。 – liv2hak 2013-05-09 21:08:45
你是对的 - 你需要从头开始在mysql中创建新的数据库。你是如何创建你的sqlite数据库?你有没有''创建表...''查询?还是你使用SQLAlchemy创建表? – vvladymyrov 2013-05-09 21:40:38
我创建了一个新的数据库,并遵循你建议的链接。现在我得到新的错误:(我已经创建了一个新的问题.http://stackoverflow.com/questions/16472175/operationalerror-operationalerror-2003-cant-连接到MySQL服务器对1 – liv2hak 2013-05-09 22:28:20