我試圖創建一個使用運行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