能执行mysql --version是第一道门槛,仅验证客户端是否在path中;接着需确认服务运行状态(如systemctl status mysql或windows服务)、能否登录(mysql -u root -p)并执行select version(),最后检查netstat是否监听3306端口。

mysql --version 能否执行
这是第一道门槛,不涉及服务、密码或网络,只看客户端二进制是否在系统 PATH 中。打开终端(Linux/macOS)或命令提示符(Windows),直接运行:mysql --version。如果返回类似 mysql Ver 8.0.33 for Linux on x86_64 的输出,说明命令行工具已就位;若提示 command not found 或 'mysql' 不是内部或外部命令,大概率是安装路径没加进环境变量,得手动找安装目录下的 mysql 可执行文件(如 /usr/local/mysql/bin/mysql 或 C:\Program Files\MySQL\MySQL Server 8.0\bin\mysql.exe)并调用它。
sudo systemctl status mysql 是否显示 active (running)
服务进程没起来,再好的客户端也没用。Linux 上用 sudo systemctl status mysql(部分发行版是 mysqld)确认状态。看到 Active: active (running) 才算真正“跑着”。常见失败场景包括:旧版本残留导致端口冲突、my.cnf 配置语法错误、数据目录权限不对(尤其是 /var/lib/mysql 所有者不是 mysql 用户)。macOS Homebrew 安装则要用 brew services list | grep mysql;Windows 用户得去“服务”管理器里查 MySQL80 等对应服务名是否“正在运行”。
MySQL 9.6.0是面向Linux平台的2026年创新版本,核心架构迎来重大革新。其将外键约束与级联操作从InnoDB引擎层上移至SQL层,确保所有数据变更均被完整记录至Binlog,彻底解决了CDC(变更数据捕获)与主从复制中的数据不一致难题。此外,该版本引入container_aware启动选项以原生适配容器环境,并对审计日志进行了组件化重构,为追求极致数据一致性与云原生体验的开发者提供了全新选择。
mysql -u root -p 登录后能否执行 SELECT VERSION()
能连上才是真可用。运行 mysql -u root -p,输入安装时设的密码。成功进入 mysql> 提示符后,立刻执行 SELECT VERSION(); —— 这比 SHOW DATABASES; 更轻量,也更早暴露问题。如果报 ERROR 2002 (HY000): Can't connect to local MySQL server,说明服务根本没响应;如果报 ERROR 1045 (28000): Access denied,那不是安装失败,而是认证插件(比如 caching_sha2_password)和客户端不兼容,或者 root 用户被限制在 ::1 或 socket 路径登录,而你用了 127.0.0.1。
netstat -tulnp | grep :3306 是否监听本地地址
端口监听状态是连接能力的底层证据。Linux/macOS 运行 sudo netstat -tulnp | grep :3306(或 ss -tuln | grep :3306),应看到 mysqld 进程绑定在 127.0.0.1:3306 或 *:3306。如果只监听 127.0.0.1,那远程连接不通是正常的;如果绑定的是 127.0.0.1 但你用 mysql -h localhost 登录失败,可能实际走的是 socket 文件,得加 --socket=/var/run/mysqld/mysqld.sock 显式指定路径。Windows 上可用 netstat -ano | findstr :3306 替代。
mysql --version 和 systemctl status 都绿了,就以为万事大吉,结果发现 Navicat 或应用连不上,根源常出在 bind-address 配置或防火墙拦截上。










