MySQL数据库连接失败:无法使用密码连接的问题求助
MySQL连接报错排查建议
- 核对连接参数准确性
确认同事提供的主机地址(别默认用localhost,可能是远程服务器IP)、端口(默认3306,但可能被修改)、数据库名称是否完全正确,用户名密码注意大小写——MySQL在部分配置下会区分大小写。 - 检查MySQL服务与网络连通性
- 本地数据库:打开系统服务(Windows执行
services.msc;Linux/macOS执行systemctl status mysql),确认MySQL服务正在运行。 - 远程数据库:用
ping 主机地址测试网络可达性,再用telnet 主机地址 端口或nc -zv 主机地址 端口验证端口是否开放,同时确认对方服务器防火墙未拦截对应端口。
- 本地数据库:打开系统服务(Windows执行
- 验证驱动版本兼容性
MySQL 8.0+必须使用com.mysql.cj.jdbc.Driver驱动类,5.x版本则用com.mysql.jdbc.Driver;同时确认项目依赖的驱动版本与服务器版本匹配,避免混用新旧版本。 - 检查MySQL账号权限
让同事确认你的账号是否允许从当前IP访问:执行SELECT host, user FROM mysql.user WHERE user='你的用户名';,如果host为localhost或特定IP,而你是远程访问会被拒绝,需执行授权SQL:
(GRANT ALL PRIVILEGES ON 目标数据库名.* TO '你的用户名'@'%' IDENTIFIED BY '你的密码'; FLUSH PRIVILEGES;%代表允许所有IP访问,也可指定你的具体IP) - 定位具体报错类型
提取IntelliJ/DB Navigator中的完整报错信息:Access denied:优先排查权限、用户名密码正确性Communications link failure:重点检查网络、驱动兼容性Unknown database:确认数据库名称是否输入错误
- 排查本地配置冲突
重装MySQL后,检查本地配置文件(Linux/macOS为my.cnf,Windows为my.ini):若为远程连接,确认bind-address未设置为127.0.0.1(需改为0.0.0.0允许外部访问);若报错涉及SSL,检查是否服务器强制SSL但客户端未开启对应配置。
内容的提问来源于stack exchange,提问作者R-me
相关产品推荐
相关产品推荐

