You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flask应用连接MySQL出现拒绝访问错误(使用密码:否)

解决Flask MySQL连接时“拒绝访问,使用密码:否”的问题

嘿,我一眼就瞅到问题所在了——你的数据库配置键名写错了!这就导致Flask的MySQL扩展根本没读到你设置的密码,连接数据库时自然没带上密码,才会弹出“拒绝访问,使用密码:否”的提示。

看你这段配置代码:

app.config['MySQL_HOST'] = 'localhost'
app.config['MySQL_USER'] = 'root'
app.config['MySQL_PASSWORD'] = '****'
app.config['MySQL_DB'] = 'myflaskapp'
app.config['MySQL_CURSORCLASS'] = 'DictCursor'

Flask-MySQL(不管是flask-mysqldb还是其他主流扩展)只会识别全大写的配置键,你现在写的MySQL_HOST是首字母大写后面小写,扩展根本不认这个键,等于没配置密码。

给你修正后的代码:

app = Flask(__name__) 
# 修正配置键为全大写,确保扩展能正确读取
app.config['MYSQL_HOST'] = 'localhost'
app.config['MYSQL_USER'] = 'root'
app.config['MYSQL_PASSWORD'] = '****'
app.config['MYSQL_DB'] = 'myflaskapp'
app.config['MYSQL_CURSORCLASS'] = 'DictCursor'

# 别忘了正确初始化MySQL(以flask-mysqldb为例)
from flask_mysqldb import MySQL
mysql = MySQL(app)

另外给你几个额外的排查点,以防万一:

  • 先在终端用mysql -u root -p测试登录,确认你的root密码确实正确,并且允许从localhost访问。
  • 如果用的是其他MySQL扩展,去查一下它的官方文档,确认配置键的命名规则(不过大部分都是全大写)。
  • 如果密码里有特殊字符,试着用单引号或双引号包裹住,避免解析出错。

内容的提问来源于stack exchange,提问作者kristof

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 08:17:05