Linux下如何连接数据库服务器地址?,数据库连接命令是什么

在Linux中连接数据库服务器地址,核心方法是用命令行客户端工具,通过主机IP + 端口 + 账号 + 密码的组合直接远程登录,具体命令因数据库类型而异。下面按主流数据库逐一拆解,并解决连接过程中的常见坑。

linux怎么连接数据库服务器地址:先理清这四件事

不管用哪种数据库,本质都是“客户端程序 + 连接参数”,在动手前,先确认以下四项内容,缺一不可:

【linux】cetos服务器mariadb数据库服务自动关闭服务
加载中
【linux】cetos服务器mariadb数据库服务自动关闭服务
  • 数据库类型:MySQL、PostgreSQL、Redis、MongoDB 等,各自的客户端工具和命令完全不同。
  • 服务器地址:就是数据库服务器的 IP 或域名,本地连就填 0.0.1,跨机房或跨云环境就填公网 IP。
  • 端口号:MySQL 默认 3306,PostgreSQL 默认 5432,Redis 默认 6379,改过端口就必须显式指定。
  • 认证凭据:用户名和密码,通常由 DBA 或云平台创建分配。

行业共识认为,90% 的连接失败都与上述四项中的一项有关,尤其是“端口没开”和“账号主机限制”这两个问题最隐蔽。

linux命令行连接mysql数据库的完整步骤

MySQL 是目前中小团队使用面最广的关系型数据库,下面以它为例做全流程演示。

第一步:确认客户端是否安装

CentOS / RHEL 系列用以下命令确认:

which mysql

如果没输出,说明客户端未安装,分别执行:

# Ubuntu / Debian
sudo apt update && sudo apt install mysql-client -y
# CentOS / RHEL
sudo yum install mysql -y

部分国产 Linux 发行版(如 openEuler)使用 dnf install mysql,大同小异。

第二步:标准连接命令格式

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

执行后系统会提示输入密码,回车即可进入交互式 SQL 界面,拆解一下参数含义:

  • -h(host):数据库服务器地址,支持 IPv4、IPv6 和域名。
  • -P(port):注意是大写 P,端口号。
  • -u(user):登录账号。
  • -p(password):小写 p,表示需要输入密码,不要直接在 -p 后面写明文密码,容易泄露到 history 里。

第三步:远程连接的三个前置条件

很多新手卡在这一步命令完全正确,但报错 Access denied 或 Can't connect,逐一排查:

  1. 数据库账号允许远程登录

    Linux下如何连接数据库服务器地址?,数据库连接命令是什么

    ,默认的 root 账号往往只允许 localhost 登录,需要到数据库服务器上执行:

CREATE USER 'app_user'@'%' IDENTIFIED BY '强密码';GRANT ALL PRIVILEGES ON . TO 'app_user'@'%';FLUSH PRIVILEGES;

'app_user'@'%' 中的 表示允许任意 IP 连接,出于安全考虑,也可以写特定 IP 如 'app_user'@'192.168.1.%'。

  1. 防火墙放行对应端口,云服务器需要检查安全组规则,物理机或虚拟机需要检查 firewalld 或 iptables:
# firewalld 放行 3306
sudo firewall-cmd --permanent --add-port=3306/tcp
sudo firewall-cmd --reload
# 或者查看 iptables 规则
iptables -L -n | grep 3306
  1. 数据库服务监听地址不能只绑 127.0.0.1,查看 MySQL 配置文件 /etc/mysql/mysql.conf.d/mysqld.cnf(Ubuntu)或 /etc/my.cnf(CentOS),确认 bind-address 这一项,如果是 0.0.1,改成本机局域网 IP 或 0.0.0,然后重启服务:
sudo systemctl restart mysqld   # 或 mysql

快速验证网络连通性

在连接数据库之前,可以先确认网络层面是否可达:

# 检查端口是否能通
telnet 数据库服务器IP 3306
# 或使用 nc
nc -zv 数据库服务器IP 3306

如果端口不通,说明问题出在网络或防火墙,不用再纠结账号密码。

数据库服务器连不上什么原因:常见报错排查手册

实操中你会遇到五花八门的报错,下面按出现频率排序。

报错信息 根本原因 解决方案
ERROR 2003 (HY000): Can't connect to MySQL server 网络不通或端口未监听 检查防火墙、安全组、bind-address、服务状态
ERROR 1045 (28000): Access denied for user 账号密码错误或主机限制 核实密码、检查账号的 host 范围
ERROR 1130 (HY000): Host is not allowed to connect 账号只允许 localhost 登录 重新授权为 'user'@'%' 或具体 IP
Connection timed out 防火墙丢包或 IP 不可达 排查公网链路、安全组规则
Public Key Retrieval is not allowed 使用 SSL 连接的客户端配置

Linux下如何连接数据库服务器地址?,数据库连接命令是什么

连接参数加 useSSL=false 或配置证书

PostgreSQL 和 Redis 的连接差异

PostgreSQL 默认使用 psql 客户端:

psql -h 数据库服务器IP -p 5432 -U 用户名 -d 数据库名

PG 的连接复杂度略高于 MySQL,因为还需要在 pg_hba.conf 中配置认证方式,常见的 scram-sha-256 或 md5 认证会导致连接报错,需要确认该文件的放行规则。

Redis 多数场景不需要账号,但默认只允许本机访问,远程连接命令:

redis-cli -h 数据库服务器IP -p 6379 -a 密码

Redis 的坑集中在 protected-mode yes 和 bind 127.0.0.1 这两个默认配置上,批量连接时要改成:

bind 0.0.0.0
protected-mode no
requirepass 复杂密码

注意 bind 0.0.0.0 后必须在防火墙层严格控制来源 IP,否则极易被扫描爆破。

数据库连接工具哪个好用:命令行之外的效率之选

虽然 Linux 命令行连接是基本功,但日常开发中多数人会搭配图形化工具减少重复劳动,这里不讨论具体产品,只按场景给建议:

纯命令行的进阶用法配置文件免密

在 ~/.my.cnf 中写入:

[client]
host=数据库服务器IP
user=用户名
password=密码

之后直接执行 mysql 就能登录,但这个方法等同于明文存储密码,仅建议在受控的跳板机上使用,并配合 chmod 600 ~/.my.cnf 限制文件权限。

图形化工具对比

工具 适合场景 核心优势
DBeaver 跨数据库通用 支持 MySQL、PG、Oracle、Redis 等几乎所有主流库
Navicat 商业付费 交互体验流畅,数据导入导出方便
DataGrip Java 开发者 IDE 一体化,代码提示完善
TablePlus 轻量敏捷 启动快,界面简洁,适合快速查询

整体来看,命令行适合写脚本、排查问题、服务器端操作;图形化工具适合日常开发查询、导出数据、看表结构,两者配合效率最高。

进阶场景:生产环境连接数据库的几种姿势

通过 SSH 隧道加密连接

生产环境数据库通常不直接暴露公网端口,较稳妥的连接方式是 SSH 隧道:

Linux下如何连接数据库服务器地址?,数据库连接命令是什么

ssh -L 3307:数据库内网IP:3306 用户@跳板机公网IP

该命令的含义是:把本机的 3307 端口映射到跳板机内网能访问的数据库 3306 端口,之后在本地执行:

mysql -h 127.0.0.1 -P 3307 -u 用户名 -p

配置连接池参数

如果应用服务器需要连接数据库,建议在连接串中准确设置超时时间和连接池大小,以 Golang 的 sql 包为例,常用参数包括 SetMaxOpenConns(100)、SetConnMaxLifetime(5 time.Minute),防止短连接风暴把数据库打挂。

多数据库地址场景:从配置文件读取

工程化实践中,不建议把数据库地址硬编码到代码里,较常规的做法是把连接串放到 .env 环境变量或配置中心,按环境(dev/staging/prod)动态加载,这样切换数据库服务器地址时只需改一份配置,不用重新发版。

Q&A:linux连接数据库服务器地址高频问题解答

Q1:同一台 Linux 上能同时装 MySQL 和 PostgreSQL 客户端吗?

可以,两者客户端工具包名不同,相互独立,安装互不影响,CentOS 上分别执行 yum install mysql 和 yum install postgresql 即可,要注意连接不同数据库时使用对应的命令和端口号。

Q2:连接时报 Access denied,但账号密码肯定没错,可能是什么原因?

多数情况下与账号绑定的 host 范围有关,MySQL 账号匹配遵循“最小匹配优先”原则,例如你要连接的主机是 168.1.10,而账号同时存在 'user'@'%' 和 'user'@'localhost' 两条记录,MySQL 可能会匹配到更精确的 localhost 记录并拒绝远程连接,用 SELECT user, host FROM mysql.user; 在服务器上排查一下,把不需要的 host 记录删掉或统一授权。

Q3:Linux 命令行的 mysql -h localhost 和 mysql -h 127.0.0.1 有什么区别?

localhost 默认走 Unix socket 文件连接,0.0.1 走 TCP/IP 协议,在很多场景下,mysql -h localhost 会跳过 TCP 层,直接通过 socket 通信,如果你本机没启用 socket 或路径不对,就会连接失败,而使用 0.0.1 则能够稳定连接。

Linux 连接数据库服务器地址的核心始终是:确认网络可达、确认端口监听、确认账号授权、确认防火墙放行,这四步走完,绝大多数连接问题都会迎刃而解,掌握这一套流程后,不管是 MySQL、PostgreSQL 还是 Redis,底层逻辑都是相通的。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/linux%e4%b8%8b%e5%a6%82%e4%bd%95%e8%bf%9e%e6%8e%a5%e6%95%b0%e6%8d%ae%e5%ba%93%e6%9c%8d%e5%8a%a1%e5%99%a8%e5%9c%b0%e5%9d%80%ef%bc%9f%e6%95%b0%e6%8d%ae%e5%ba%93%e8%bf%9e%e6%8e%a5%e5%91%bd%e4%bb%a4/

赞 (0)
导览系统服务器有哪些类型?,如何选择配置?
上一篇 2026年8月30日 21:00
Win7系统连接服务器失败怎么办,网络错误如何解决?
下一篇 2026年8月30日 21:05

相关推荐

  • 我的世界服务器CPU占用怎么看,如何解决高占用?

    查看我的世界服务器CPU占用,核心是先找到Java服务端进程:Linux用top、htop、pidstat盯住java进程,Windows用任务管理器或PowerShell查看java.exe,面板服和Docker服优先看面板监控、docker stats,我的世界服务器怎么查看CPU占用情况:先锁定Java进……

    2026年10月17日
    000
  • ftp服务器文件存在哪?ftp服务器文件默认路径在哪

    FTP 服务器中文件的具体存储位置并没有一个统一的标准路径,它完全取决于你使用的FTP 软件/服务类型、操作系统以及管理员的配置,我们可以根据常见的场景来归纳文件通常存放的位置:Windows 系统如果你使用的是 Windows 自带的 IIS FTP 服务或常见的第三方 FTP 软件(如 FileZilla……

    2026年7月11日
    8400
  • AI智能健康发展有哪些隐患?AI智能健康发展前景如何

    AI智能健康发展的核心在于构建“技术可控、伦理先行、人机协同”的闭环生态,通过算法透明化与隐私保护机制,实现从单一疾病治疗向全生命周期健康管理的范式转变,当我们谈论AI在健康领域的未来时,不再仅仅是讨论它能否比医生读片更快,而是关注它如何成为每个人触手可及的健康管家,2026年的今天,行业共识认为,AI已跨越了……

    2026年6月7日
    3300
  • 南京企业服务器租用中途加机器新增费用怎么算?,多少钱?

    南京服务器租用中途加机器,新增费用怎么算?南京企业服务器租用中途加机器,新增费用通常按剩余服务周期比例折算,同时需支付新增部分的硬件押金和带宽升级费用,具体金额取决于机房当前资源余量和合同条款,这是很多南京企业遇到业务扩张时会直接面对的问题,服务器租用并非一成不变,当流量上来或业务拆分,加机器就成了刚性需求,但……

    2026年8月13日
    600
  • 浪潮服务器3020m5怎么做阵列,详细步骤有哪些?

    浪潮服务器3020m5做阵列最直接的方法是开机进入BIOS界面,通过板载SR430或独立RAID卡,在Ctrl+C或Ctrl+R界面中创建RAID卷组,浪潮3020m5是英信系列中的中端双路机架服务器,出场默认支持板载SATA阵列,扩展阵列则需要加装独立RAID卡,做阵列这事本身不难,难的是在开机自检阶段选对入……

    2026年9月27日
    200
  • AIoT教育实训最新活动有哪些?AIoT实训活动报名条件

    AIoT教育实训正从单一的技术演示向深度融合的“场景化+项目制”方向转型,最新的行业活动显示,以竞赛驱动、产教融合基地建设为核心的实训模式,已成为提升学生解决复杂工程问题能力的关键路径,当前,AIoT教育实训最新活动不再局限于简单的硬件连接或代码编写,而是聚焦于“端-边-云”全链路的协同创新,强调在真实工业场景……

    2026年3月22日
    11000
  • win服务器怎么直接连接数据库,数据库连接教程有哪些?

    在Win服务器上直接连接数据库,最稳妥的做法是先确认数据库类型和网络环境,再用客户端工具或命令行按对应协议进行连接,核心就三步:开端口、配账号、选工具,win服务器连接数据库的配置准备动手之前,先弄清楚数据库装在哪、监听哪个端口、用什么身份登录,这三件事没搞清楚,后面大概率白忙活,确认数据库类型和端口不同数据库……

    2026年10月14日
    100
  • 如何把war包部署到酷番云服务器上,详细步骤是什么?

    把war包部署到腾讯云服务器,核心就是买服务器、装JDK和Tomcat、上传war包、启动Tomcat、放行安全组端口,最后按需绑定域名, 整个流程在Linux环境下最顺,Windows Server也能做,但本文以更主流的Linux为例,下面从准备、实操、排错、成本、生产建议一路讲清楚,部署前先搞清楚:腾讯云……

    2026年10月5日
    100
  • 研华科技是做什么的?研华AIoT解决方案有哪些优势

    在工业数字化转型的浪潮中,单纯的物联网连接已无法满足企业对降本增效的深层需求,“边缘智能”与“软硬件集成”正成为新的决胜高地,研华科技作为全球工业物联网领域的领军企业,其核心战略在于通过模块化的硬件架构、开放的软件平台以及垂直行业的深度赋能,解决了传统工业物联网落地难、碎片化严重的痛点,企业选择研华的方案,本质……

    2026年3月11日
    11500
  • RackNerd美国VPS测评,10.88美元/年实测数据与性能表现,RackNerd美国VPS怎么样,RackNerd美国VPS测评

    RackNerd 2026 年 10.88 美元/年 VPS 实测结论:该套餐在基础性能上完全满足个人博客、轻量级爬虫及测试环境需求,但在高并发场景下表现平庸,是预算敏感型用户的首选入门方案,但需接受其网络波动较大的现实,在 2026 年的云主机市场中,RackNerd 依然凭借极致的性价比占据着“入门级 VP……

    2026年5月10日
    4200

发表回复

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