mysql如何安装mysql客户端工具_mysql命令行配置方法

来源:这里教程网 时间:2026-02-28 20:47:48 作者:

直接装 mysql-client 就够了,不用装完整 MySQL 服务器

如果你只想要

mysql
命令行工具(比如连远程数据库、执行 SQL、导出数据),根本不需要安装 MySQL 服务器(
mysqld
)。装完整包反而浪费磁盘、多开端口、增加维护负担。

不同系统安装方式略有差异:

Ubuntu/Debian:
sudo apt install mysql-client
(注意不是
mysql-server
CentOS/RHEL 8+:
sudo dnf install mysql
(这个包默认只含客户端)
macOS(Homebrew):
brew install mysql-client
,然后把
mysql
加入 PATH:
echo 'export PATH="/opt/homebrew/opt/mysql-client/bin:$PATH"' >> ~/.zshrc
Windows:直接下载 MySQL Installer,自定义安装时只勾选
MySQL Client
MySQL Shell
即可

配置 ~/.my.cnf 避免每次输密码和 host

mysql
命令本身不读取环境变量或全局配置文件,但会自动加载用户家目录下的
~/.my.cnf
(权限必须是 600,否则忽略)。这是最安全、最常用的免密登录方式。

示例内容(保存为

~/.my.cnf
):

[client]
host = 192.168.1.100
port = 3306
user = myuser
password = mypass
database = mydb

注意几点:

文件权限必须设为
chmod 600 ~/.my.cnf
,否则
mysql
会报错
Warning: World-writable config file is ignored
[client]
段生效于所有客户端命令(
mysql
mysqldump
mysqladmin
密码明文存储有风险,生产环境建议用
mysql_config_editor
加密存储(见下一条)

用 mysql_config_editor 存加密登录信息(推荐用于生产)

mysql_config_editor
是 MySQL 官方提供的凭据加密工具,生成的
~/.mylogin.cnf
文件用 AES 加密,比明文
~/.my.cnf
更安全。

操作步骤:

存一组登录信息:
mysql_config_editor set --login-path=prod --host=prod-db.example.com --user=admin --password
(执行后会交互式输入密码)
连接时直接用:
mysql --login-path=prod
查看已存配置(不显示密码):
mysql_config_editor print --all
删除某组:
mysql_config_editor remove --login-path=prod

注意:

mysql_config_editor
生成的文件权限自动设为 600,且只对当前用户有效;它不兼容旧版 MySQL(~/.my.cnf。

常见连接失败原因和快速排查项

运行

mysql -u user -p
后卡住或报错,大概率不是配置问题,而是网络或权限层面被拦住了:

ERROR 2003 (HY000): Can't connect to MySQL server on 'xxx' (111)
→ TCP 连接被拒,检查:
telnet host port
是否通、防火墙(
ufw
/
firewalld
)、云厂商安全组是否放行 3306
ERROR 1045 (28000): Access denied for user
→ 用户不存在、密码错、或该用户没授权从当前 host 连接(比如只授权了
'user'@'localhost'
,但你是从远程连)
ERROR 2059 (HY000): Authentication plugin 'caching_sha2_password' cannot be loaded
→ MySQL 8.0 默认认证插件不兼容老客户端,临时解决:建用户时指定
IDENTIFIED WITH mysql_native_password
,或升级客户端
连上后执行 SQL 报
Access denied
→ 不是登录失败,是当前用户对目标库/表没
SELECT
/
INSERT
权限,用
SHOW GRANTS FOR current_user();
查看

客户端工具本身极轻量,真正麻烦的是网络策略、权限模型和版本兼容性。配完别急着写脚本,先用

mysql --version
mysql -h your-host -u test -p -e "SELECT VERSION();"
过一遍基础链路。

相关推荐