无法连接到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>
任何人都有任何提示或知道如何弄清楚出了什么问题?
答案 0 :(得分:2)
在您的Flask应用程序上,您通过端口8889进行连接。
但是,在mysql命令行中,您似乎使用默认选项,这在库存mysql构建中将连接到端口3306。
你能在这两个端口上运行两个mysql服务器,每个端口都有不同的用户权限吗?