当mysql安装之后,本地使用数据库连接工具发现连接不上的报错 如下

解决方案
说明是用户权限或防火墙问题。请按顺序排查:
- 检查防火墙 (Firewall)
确保服务器的防火墙放行了 23306 (或 3306) 端口。
```js
查看防火墙状态
systemctl status firewalld
如果正在运行,添加端口规则 (假设你用 23306)
firewall-cmd --zone=public --add-port=23306/tcp --permanent
firewall-cmd --reload
如果是云虚拟机 (如阿里云/腾讯云/移动云),别忘了去网页控制台的【安全组】里放行该端口!
```
- 检查 MySQL 用户权限
你需要登录到服务器本地,确认 root 用户允许远程连接。
在服务器终端执行:
/usr/local/mysql/bin/mysql -u root -p --socket=/tmp/mysql.sock
或
mysql -uroot -p
进入 MySQL 命令行后,执行以下 SQL:
-- 1. 查看当前用户允许的主机
SELECT user, host FROM mysql.user;
-- 2. 如果只有 'localhost',你需要创建 '%' 允许所有 IP,或者特定 IP
-- 注意:MySQL 8.0 必须用 ALTER USER 或 CREATE USER + IDENTIFIED BY
-- 方法:修改 root 允许任意主机连接 (将 'YourPassword' 替换为你的实际密码)
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'YourPassword';
CREATE USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'YourPassword';
GRANT ALL PRIVILEGES ON . TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;