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

MySQL:--password命令行选项失效但-p交互式输入可成功连接

问题原因及解决方法

你的问题核心是命令语法错误,并非隐藏安全设置阻止命令行输入密码。

错误原因

你使用的命令参数-password='password'格式错误:

  • MySQL的密码选项分两种写法:
    1. 短选项-p:若要直接指定密码,要么-p后直接跟密码(无空格),比如-ppassword;要么-p后加空格和密码,比如-p 'password'
    2. 长选项:必须用双横线开头,比如--password='password'或者--password 'password'

你用了单横线的-password,MySQL会把它解析成多个短选项的组合(-p、-a、-s等),导致实际传递的密码完全不符合预期,因此触发Access denied错误。

正确命令示例

试试这两个有效格式:

# 短选项直接指定密码
mysql -h localhost -P 3306 --protocol=tcp -u root -ppassword

# 长选项指定密码
mysql -h localhost -P 3306 --protocol=tcp -u root --password='password'

补充说明

错误信息里的root@172.24.0.1,大概率是因为你的MySQL服务运行在Docker容器中,宿主机IP被容器识别为172.24.0.1。但既然你用-p交互式输入密码能成功,说明root用户已经允许从这个IP访问,只要修正命令语法就能正常连接。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 14:21:00