MySQL连接失败的情况主要有以下几种:
- MySQL服务未启动或已停止
- 端口未开放或被占用
- 防火墙禁止访问
- 用户名或密码错误
- MySQL没有授权访问数据库
以上情况都有可能导致MySQL连接失败。针对这些情况的解决措施如下:
# 检查MySQL服务是否启动或已停止
systemctl status mysql
# 检查端口是否开放或被占用
netstat -tln
# 如果端口未开放需要编辑MySQL配置文件/etc/mysql/mysql.conf.d/mysqld.cnf,将bind-address修改为0.0.0.0
bind-address = 0.0.0.0
# 检查防火墙是否禁止访问
sudo ufw status
# 如果防火墙禁止访问需要开放端口,例如3306
sudo ufw allow 3306/tcp
# 检查用户名或密码是否错误
mysql -u username -p
# 检查MySQL是否授权访问数据库
GRANT ALL PRIVILEGES ON sample_db.* TO 'sample_user'@'localhost' IDENTIFIED BY 'sample_password';
以上检查方式都可以通过命令行进行,可以避免使用图形界面工具导致连接失败。