用户拒绝Flask SQLAlchemy操作错误访问

时间:2013-08-06 22:23:52

标签: mysql sqlalchemy flask flask-sqlalchemy

无法连接到db。

用户名和密码正确无误。我尝试了几种组合。我已使用SQLALCHEMY_DATABASE_URI验证了我的'mysql://user:pass@localhost:8889/db-name'但无法连接。我可以使用mysql命令行实用程序无连接地连接。我甚至尝试使用没有密码的用户名也无济于事。

Flask App详情 - config.py

import os
basedir = os.path.abspath(os.path.dirname(__file__))

CSRF_ENABLED = True

SQLALCHEMY_DATABASE_URI = 'mysql://datadmin:password@localhost:8889/db-name'
WHOOSH_BASE = os.path.join(basedir, 'whoosh')

_ 初始化 _。PY

import os
from flask import Flask, render_template, jsonify, request
from flask.ext.sqlalchemy import SQLAlchemy
from config import basedir

app=Flask(__name__)
app.config.from_object('config')
db = SQLAlchemy(app)

from app import views, models

堆栈跟踪

File ".../site-packages/MySQLdb/connections.py", line 187, in __init__
super(Connection, self).__init__(*args, **kwargs2)
OperationalError: (OperationalError) (1045, "Access denied for user 'datadmin'@'localhost' (using password: YES)") None None

通过命令行连接

user@hostname:~$ mysql -u datadmin -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.5.29 Source distribution

Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.

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

mysql>

任何人都有任何提示或知道如何弄清楚出了什么问题?

1 个答案:

答案 0 :(得分:2)

在您的Flask应用程序上,您通过端口8889进行连接。

但是,在mysql命令行中,您似乎使用默认选项,这在库存mysql构建中将连接到端口3306。

你能在这两个端口上运行两个mysql服务器,每个端口都有不同的用户权限吗?