MySQL 客户端连接需配置服务端地址、账号、端口等参数,重点排查服务状态、bind-address、用户权限、防火墙及 SSL 兼容性;命令行用 mysql -h -P -u -p,图形工具配置类似。

MySQL 客户端 工具 本身(即命令行工具 mysql)不需要“安装配置工具”,它依赖的是连接参数。所谓“配置”,实质是告诉客户端:连哪台服务器、用哪个账号、访问哪个库、走什么协议和 端口。
确认 MySQL 服务已运行并允许远程连接
如果连不上,大概率不是客户端问题,而是服务端未就绪:
- 检查 MySQL 服务是否启动:
sudo systemctl status mysql(Linux)或查看 Windows 服务中“MySQL80”是否运行 - 确认监听地址:默认只监听
127.0.0.1:3306,如需远程连接,需在my.cnf或my.ini中设置bind-address = 0.0.0.0(生产环境建议限定 IP) - 检查用户权限:执行
SELECT host, user FROM mysql.user;,确保目标用户(如root)的host字段包含你的客户端 IP 或% - 开放 防火墙 端口:Linux 用
sudo ufw allow 3306,Windows 防火墙需放行 TCP 3306
命令行 mysql 工具的基本连接方式
最轻量、最通用的方式,无需图形界面:
- 本地连接(默认 socket):
mysql -u root -p,回车后输入密码 - 指定主机和端口:
mysql -h 192.168.1.100 -P 3306 -u appuser -p mydb(注意-P是大写,端口号不能带空格) - 跳过密码提示(不推荐):
mysql -u root -p"mypass" mydb,但密码会暴露在进程列表中 - 使用配置文件免输密码(安全做法):
~/.my.cnf(Linux/macOS)或%USERPROFILE%my.ini(Windows),内容如下:
[client] host = 192.168.1.100 port = 3306 user = appuser password = your_secure_password database = mydb
保存后设权限:chmod 600 ~/.my.cnf(Linux/macOS),否则 MySQL 会拒绝读取。
常用图形化客户端的典型配置项
如 MySQL Workbench、DBeaver、Navicat 等,核心配置字段基本一致:
- Connection Name:自定义名称,仅本地标识,如“Prod-DB-01”
- Hostname / Server Host:IP 或域名,如
10.0.2.5或db.example.com - Port:默认
3306,若改过需同步填写 - Username:数据库用户,非系统用户名
- Password:可保存(加密存储)、手动输入或使用密钥环
- Default Schema / Database:可选,连接后自动 USE 的库名
- SSL / Connection Method:开发环境可选“Standard TCP/IP”,生产建议启用 SSL 并配置 CA 证书路径
连接失败时的快速排查点
别急着重装工具,先看这几项:
- 能否 ping 通目标 IP?—— 排除网络层阻断
- 用
telnet 192.168.1.100 3306或nc -zv 192.168.1.100 3306测试端口是否可达 - 错误提示是“Access denied”还是“Connection refused”?前者是认证 / 权限问题,后者是服务未启、防火墙拦截或 bind-address 限制
- MySQL 8.0+ 默认认证插件为
caching_sha2_password,部分旧客户端不兼容,可临时改为mysql_native_password:ALTER USER 'appuser'@'%' IDENTIFIED WITH mysql_native_password BY 'newpass';