- 工信部备案号 滇ICP备05000110号-1
- 滇公网安备53011102001527号
- 增值电信业务经营许可证 B1.B2-20181647、滇B1.B2-20190004
- 云南互联网协会理事单位
- 安全联盟认证网站身份V标记
- 域名注册服务机构许可:滇D3-20230001
- 代理域名注册服务机构:新网数码
- CN域名投诉举报处理平台:电话:010-58813000、邮箱:service@cnnic.cn
数据库连接失败
欢迎来到8455线路检测中心技术小课堂,每天分享一个技术小知识。数据库连接失败是开发与运维高频问题,多因服务状态、账户权限、网络配置等基础异常导致。本文聚焦 MySQL/MariaDB 通用场景,提炼排查步骤与秒解方案,无冗余操作,快速落地解决。
一、先抓错误关键词(定位原因)
连接报错关键词直接对应问题:
Access denied for user → 账户 / 密码错误、权限不足
Can't connect to MySQL server → 服务未启动、网络不通
Unknown database → 目标数据库名不存在
Host 'xxx' is not allowed → 远程连接权限受限
Timeout → 防火墙拦截、端口未开放
二、高频故障 + 秒解方案
1. 数据库服务未启动
排查命令(Linux):
systemctl status mysqld # CentOS/RHEL
systemctl status mysql # Ubuntu/Debian
解决:启动服务并设置开机自启
systemctl start mysqld && systemctl enable mysqld
2. 账户 / 密码错误或权限不足
报错关键词:Access denied
解决:
a. 本地登录修改密码(以 root 为例)
mysql -uroot -p
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
FLUSH PRIVILEGES;
授权远程连接(外网访问场景)
GRANT ALL PRIVILEGES ON *.* TO '用户名'@'%' IDENTIFIED BY '密码';
FLUSH PRIVILEGES;
3. 远程连接被拦截(防火墙 / 端口)
数据库默认端口:3306
排查端口是否开放(Linux):
firewall-cmd --query-port=3306/tcp
解决:
a. 放行端口并生效
firewall-cmd --add-port=3306/tcp --permanent && firewall-cmd --reload
注释配置文件 IP 绑定(/etc/my.cnf)
# bind-address = 127.0.0.1 # 注释后允许所有IP连接
重启数据库:systemctl restart mysqld
4. 数据库名不存在
报错关键词:Unknown database
解决:登录核对库名
mysql -uroot -p
SHOW DATABASES; # 列出所有数据库,确认连接参数中的库名正确
三、通用技巧
测试本地连接(排除应用程序问题)
mysql -u用户名 -p密码 -h127.0.0.1 数据库名
2. 核对连接配置:确认地址、端口、用户名、密码无拼写错误
3. 重启数据库:解决临时配置异常
systemctl restart mysqld
8455线路检测中心官网上拥有完善的技术支持库可供参考,大家可自行查阅,更多技术问题,可以直接咨询。同时,8455线路检测中心整理了运维必备的工具包免费分享给大家使用,需要的朋友可以直接咨询。
更多技术知识,8455线路检测中心期待与你一起探索
售前咨询
售后咨询
备案咨询
二维码

TOP