在Linux中怎样连接数据库服务器,有哪些常用命令?

在linux中连接数据库服务器,核心操作路径是:确认网络连通性、安装对应数据库客户端、使用命令行工具完成认证连接。这个过程看似简单,但很多新手容易卡在端口不通、客户端缺失或权限配置上,下面将整个连接流程拆解成几个关键步骤,帮你在实际环境中快速上手。

准备工作:确认网络与端口状态

在敲任何连接命令之前,先确认Linux服务器和目标数据库服务器之间的网络是通的,不少连接失败案例都是因为防火墙拦住了端口,或者云安全组没放行规则。

如何远程连接MySql数据库教程
加载中
如何远程连接MySql数据库教程

检查网络连通性,优先使用telnet或nc命令测试数据库端口,比如目标数据库服务器的IP是168.1.100,端口是3306(MySQL默认端口),执行:

telnet 192.168.1.100 3306

如果端口开放,会显示连接成功的提示;如果卡住或提示超时,基本可以断定是网络或防火墙问题,部分最小化安装的Linux没有telnet,可以用nc -zv 192.168.1.100 3306替代。

行业共识认为,大多数连接失败问题集中在端口不可达和客户端版本不匹配,而不是用户名密码错误,建议在排查时先走一遍网络层验证,再纠结认证细节。

安装合适的数据库客户端工具

Linux下连接数据库,通常不需要安装完整的数据库服务端,安装客户端工具即可,不同数据库对应的客户端工具差异较大,这里分场景说明。

MySQL / MariaDB 客户端

在Debian/Ubuntu系系统上,安装命令如下:

sudo apt update
sudo apt install mysql-client -y

在CentOS/RHEL系系统上,使用yum:

sudo yum install mysql -y

安装完成后,系统会提供mysql命令行工具,检查版本确认安装成功:

mysql --version

PostgreSQL 客户端

PostgreSQL的客户端工具是psql,在Ubuntu/Debian上安装:

sudo apt install postgresql-client -y

在CentOS上:

sudo yum install postgresql -y

Redis 客户端

Redis数据库使用redis-cli连接,安装方式:

sudo apt install redis-tools -y

在Linux中怎样连接数据库服务器,有哪些常用命令?

或

sudo yum install redis -y

安装完客户端工具后,接下来就是真正的连接操作,有一个常被问到的场景是:在linux中怎么连接数据库服务器做日常管理,其实所有图形化管理工具(如Navicat、DBeaver)底层调用的都是这些命令行客户端的能力,掌握命令行操作是基本功。

核心连接命令与参数详解

连接数据库的命令不长,但参数信息量大,以下是最常用的连接方式。

连接MySQL数据库

基础连接命令格式:

mysql -h 数据库服务器IP -P 端口号 -u 用户名 -p

实际执行时,-p后面不要直接跟密码,回车后系统会提示输入密码,这样避免密码出现在shell历史记录中,完整示例:

mysql -h 192.168.1.100 -P 3306 -u root -p

如果想在脚本中自动连接,需要将密码写在命令里,但不推荐在生产环境这样做,因为ps命令可以看到进程参数,存在安全隐患,更安全的做法是使用配置文件,在用户家目录创建~/.my.cnf,写入:

[client]
host=192.168.1.100
user=root
password=你的密码

然后直接执行mysql即可读取配置文件连接。

连接PostgreSQL数据库

PostgreSQL的连接参数略有不同:

psql -h 192.168.1.100 -p 5432 -U postgres -d 数据库名

这里的-d指定要连接的数据库名称,PostgreSQL默认要求指定数据库,不像MySQL可以在连接后再选择库。

连接Redis数据库

Redis连接方式:

redis-cli -h 192.168.1.100 -p 6379

如果Redis设置了密码,连接后用auth 密码命令认证。

这里需要区分一个高频疑问:linux中连接数据库服务器和连接本地数据库的区别,本地连接通常用socket方式,速度快但只能本机使用;远程连接走TCP/IP协议,需要数据库服务端开启远程监听权限,MySQL还要授权远程访问用户,多数情况下,日常开发用远程连接较多,而DBA做本地维护时用socket连接更安全。

常见连接报错与排查方向

连接过程中遇到报错是必然的,关键在于快速定位原因。

在Linux中怎样连接数据库服务器,有哪些常用命令?

报错:Access denied for user

这个报错表示用户名或密码错误,也可能是该用户没有从当前IP访问的权限,MySQL的授权表控制用户可以从哪些主机登录,如果用户只授权了localhost,那远程连接肯定被拒。

解决办法是登录数据库后执行授权语句:

GRANT ALL PRIVILEGES ON . TO '用户名'@'客户端IP' IDENTIFIED BY '密码';
FLUSH PRIVILEGES;

报错:Can’t connect to MySQL server on ‘x.x.x.x’

这个报错说明网络层没走通,按前面的方法检查端口、防火墙和云安全组,另外确认MySQL服务是否在监听所有网络接口,查看MySQL配置文件/etc/mysql/mysql.conf.d/mysqld.cnf中的bind-address参数,如果值为0.0.1,只有本机能连,改为0.0.0并重启服务即可。

报错:psql: could not connect to server

PostgreSQL默认监听localhost,需要修改postgresql.conf中的listen_addresses参数,同时配置pg_hba.conf添加客户端IP的访问规则。

排查连接问题时,在服务端执行netstat -anp | grep 端口号可以查看监听状态。

netstat -anp | grep 3306

如果输出中显示的监听地址是0.0.1:3306,说明数据库只接受本机连接。

连接效率与安全的实操建议

频繁连接数据库的场景下,配置SSH隧道或使用别名可以明显提升效率。

使用SSH隧道加密连接

当数据库服务器只开放了SSH端口(22),没有直接暴露数据库端口时,可以通过SSH隧道进行安全连接,这在云数据库场景中使用较多,也是很多中小公司保护数据库的常用手段。

创建SSH隧道的命令:

ssh -L 本地端口:数据库服务器内网IP:数据库端口 用户名@跳板机IP
ssh -L 3307:10.0.0.5:3306 root@122.51.xx.xx

执行后,连接本机的3307端口,就会通过SSH跳板机转发到内网数据库的3306端口,再执行:

mysql -h 127.0.0.1 -P 3307 -u root -p

配置SSH别名简化连接

经常连接的服务器,可以在~/.ssh/config中配置别名,

Host db-prod
    HostName 122.51.xx.xx
    User root
    Port 22

在Linux中怎样连接数据库服务器,有哪些常用命令?

之后每次连接只需输入ssh db-prod,不用再记IP和端口。

关于数据库连接服务商的选择

实际业务场景中,数据库服务器连接方案的成本因部署方式而异,自建数据库需要购买云服务器,按年付费的云服务器费用根据配置不同,从几百到上万元不等;使用云数据库RDS则按规格和存储计费,但无论哪种服务商,底层在linux中连接数据库的逻辑都是统一的客户端协议,掌握命令行连接方法,换任何环境都能适应,不少运维人员会关注数据库连接工具哪个更好用,对命令行熟悉的人倾向mysql和psql,对可视化依赖强的用户会选择DBeaver或DataGrip,前者轻量、可脚本化,后者直观、适合查看表结构,两者并不冲突,命令行的能力边界明显更大。

FAQ:关于Linux连接数据库的常见疑问

问:linux中连接数据库服务器时提示找不到mysql命令怎么办?

说明系统没有安装MySQL客户端工具,按上文提到的安装命令操作即可,Ubuntu用sudo apt install mysql-client,CentOS用sudo yum install mysql,安装完成后重新执行连接命令。

问:linux中连接数据库服务器总是超时,网络也是通的,怎么排查?

网络通但数据库端口不通,大概率是数据库监听配置问题,在数据库服务器上执行netstat -anp | grep 3306,确认监听地址是否包含客户端可达的IP,如果监听地址是0.0.1,修改配置文件地址为0.0.0并重启数据库服务。

问:连接远程MySQL数据库时,授权不对有什么具体表现?

使用任意账号远程连接时都提示Access denied for user,但本地连接正常,这是MySQL用户表里的host字段限制所致,需要执行GRANT ALL PRIVILEGES ON . TO '账号'@'客户端IP'重新授权,然后FLUSH PRIVILEGES生效。

在linux中连接数据库服务器的核心思路就三件事:确认端口通、客户端装好、认证信息对,把这些基础打牢,无论面对MySQL、PostgreSQL还是Redis,都能用同样逻辑快速定位和解决问题,连接过程中的报错信息是有价值的指引,别急着搜答案,先看报错内容属于网络层、认证层还是权限层,判断方向对了,解决方案往往就在手边。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/article/715333.html

赞 (0)
一个游戏服务器能容纳多少玩家?,游戏服务器人数上限是多少?
上一篇 2026年10月6日 10:10
本地SQL数据库服务器地址怎么创建?,如何配置连接字符串?
下一篇 2026年10月6日 10:14

相关推荐

  • ASPRS近期关闭了吗?官方声明及最新动态揭秘!

    没有关闭,ASPRS(美国摄影测量与遥感协会)作为一个具有近90年历史的国际性专业学术组织,目前仍在持续运营并积极推动着地理空间科学的发展,它并未解散或停止活动,其官方网站、会员服务、专业期刊出版、年度会议以及各类认证项目都在正常进行,对于行业内人士、学生以及相关技术爱好者而言,ASPRS依然是获取前沿知识、进……

    2026年2月3日
    12700
  • Ajax提交姓名为何无法存入数据库?ajax提交数据到数据库失败怎么解决

    Ajax提交姓名无法存入数据库的核心原因通常在于后端接收参数名与前端传递字段不一致、数据库字段类型不匹配或事务未提交,需优先检查网络请求载荷与服务器接收逻辑的对应关系,在Web开发中,前端通过Ajax异步提交数据是常态,但“姓名”这种看似简单的字符串字段却频频报错,往往让开发者陷入困惑,这并非因为姓名特殊,而是……

    2026年6月4日
    4300
  • linux两个服务器怎么发送文件夹,服务器之间传输文件命令

    Linux两个服务器之间发送文件夹,核心答案是:用rsync做增量同步,用scp做一次性拷贝,数据量小图省事就scp,数据量大、要断点续传或定期同步就rsync,这是几乎所有Linux运维都会给出的组合答案,两个命令都能把整个文件夹原封不动传过去,区别在于rsync更聪明,它会先对比两边文件差异,只传新增和改动……

    2026年9月11日
    200
  • AIoT未来已来是真的吗?AIoT未来发展前景如何

    AIoT(人工智能物联网)不再是遥不可及的概念,而是正在发生的产业革命,核心结论在于:AIoT通过人工智能与物联网的深度融合,实现了从“万物互联”到“万物智联”的跨越,正在重塑工业制造、智慧城市及家庭生活,成为推动数字经济发展的核心引擎, 这场变革的核心驱动力,源于数据处理能力的质变与边缘计算的普及,企业若不能……

    2026年3月13日
    11600
  • 服务器256g内存是什么配置?256g内存服务器多少钱一台

    256GB 内存服务器是应对高并发、大数据量及复杂计算场景的终极硬件基石,其核心价值在于彻底消除内存瓶颈,实现数据实时处理与毫秒级响应,是金融交易、AI 训练及核心数据库集群不可或缺的基础设施,在数字化转型的深水区,计算资源的瓶颈往往不再局限于 CPU 算力,而是转移到了内存容量与带宽上,当业务数据量突破 TB……

    程序编程 2026年4月19日
    4900
  • 怎么看一个网站的DNS解析服务器?,查询工具有哪些?

    想知道一个网站用什么DNS解析服务器,最简单的答案是:用在线DNS查询工具输入域名,几秒钟就能看到结果,但要看懂并排查问题,还需要学会用命令行工具,先弄明白:你查的到底是什么很多人问“怎么看一个网站的dns解析服务器”,其实包含两层意思,第一层是查这个域名当前使用的DNS服务器地址,也就是NS记录指向哪里;第二……

    2026年8月29日
    1300
  • php怎么连接mysql数据库服务器,连接失败如何排查?

    PHP连接MySQL数据库服务器,最稳妥的方式是使用PDO或MySQLi扩展,通过主机、端口、数据库名、用户名、密码建立连接,并设置字符集与错误处理, 只要PHP环境和MySQL服务正常,掌握几个核心参数,五分钟内就能跑通第一个连接脚本,连接前的环境检查与准备确认PHP与MySQL是否就绪先别急着写代码,打开终……

    2026年9月26日
    000
  • 人工智能需要大数据分析吗,为什么AI离不开大数据

    结论是肯定的,AI的发展高度依赖大数据分析,二者是共生共荣的关系, 在现代技术架构中,大数据为AI提供了必要的“燃料”和训练场景,而AI则是挖掘大数据价值的核心引擎,没有大数据的支撑,人工智能模型将陷入“巧妇难为无米之炊”的困境,难以实现高精度的预测和决策,大数据是AI模型训练的基石人工智能的核心在于机器学习……

    2026年2月18日
    19200
  • AIoT芯片是什么样的,AIoT芯片主要应用在哪些领域

    AIoT芯片是人工智能与物联网深度融合的产物,其本质是在传统物联网芯片的基础上,集成了专门的神经网络处理单元,从而赋予边缘端设备独立的智能计算能力,实现了从“万物互联”到“万物智联”的关键跨越,它不再仅仅是数据的传输通道,而是成为了数据的“第一处理中心”,能够在本地高效完成语音识别、图像处理及决策控制,极大降低……

    2026年3月12日
    13700
  • iPhone激活时网络连接到服务器失败怎么办,怎么解决?

    iPhone激活时提示“网络连接到服务器失败”,核心解决思路是:先排查网络,再调整系统设置,最后借助电脑端工具处理,这篇文章会按照从易到难的顺序,把每一步操作都给你讲透,不管你是刚拆封的新机,还是抹掉数据后卡在激活界面的旧机,下面的方法都能覆盖到,iPhone激活时网络连接到服务器失败,先分清问题出在哪激活失败……

    2026年8月22日
    600

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注