我正在服务器a上运行flask web服务器,需要访问远程服务器b中的sql数据库。
我得到这个错误。
pymysql.err.operationalerror:(1045,“拒绝访问用户'myid'@'localhost'(使用密码:no)”)
有人能帮我吗??
下面是我的代码:
from flask import Flask, render_template, request
from flask.ext.mysql import MySQL
app = Flask(__name__)
app.config['MYSQL_HOST']='IP OF SERVER B'
app.config['MYSQL_PORT']='SERVER B PORT NUMBER'
app.config['MYSQL_USER']='MYID'
app.config['MYSQL_PASSWORD']='MYPW'
app.config['MYSQL_DB']='DBNAME'
mysql=MySQL(app)
mysql.init_app(app)
@app.route('/')
def index():
cur = mysql.get_db().cursor()
cur.execute('''SQLQUERY;''')
rv=cur.fetchall()
return str(rv)
2条答案
按热度按时间zbwhf8kr1#
试着改变你的习惯
到
这也适用于其他人:
我也有同样的问题,但这帮我解决了。希望这对你也有帮助。请看这里的参考资料
vlju58qv2#
使用mysql客户端或控制台,您应该执行如下操作:
使用具有授予权限的用户(通常是
root
).当然,您可以缩小您授予的特权范围:
all privileges
比如说:select,insert,update,delete
,视情况而定。要使用root访问控制台,请打开终端窗口并写入:
并为无密码根用户提供密码或:
如果您不知道根密码,请遵循以下指南:https://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html
如果您所在的公司/大学工作站没有执行上述操作的权限,请请求管理员授予权限。