linux如何连数据库服务器,linux怎么连mysql?

在Linux系统上连接数据库服务器,核心操作就是安装对应数据库的客户端工具,然后使用命令行或图形化工具,通过IP地址、端口号、账号密码等信息建立连接。

准备工作:确认连接三要素

动手连接之前,先确认三个基本信息是否在手,缺了任何一个,连接都会失败。

工具远程连接mysql数据库教程Linux
加载中
工具远程连接mysql数据库教程Linux

数据库服务器地址:IP地址或者域名,内网环境多为192.168.x.x或10.x.x.x格式。
端口号:默认端口可以省略,非默认端口必须带上,MySQL默认3306,PostgreSQL默认5432,Redis默认6379。
账号与密码:用于认证的数据库用户名和对应密码,确认该账号有从当前Linux主机远程访问的权限。

确认完这三项,就可以进入具体操作了。

linux连接mysql数据库的命令流程

MySQL是Linux服务器上使用率最高的开源数据库,连接操作也最基础。

第一步:安装MySQL客户端

大多数Linux发行版默认不自带mysql命令,需要手动安装。

Debian/Ubuntu系统用apt安装:

sudo apt update
sudo apt install mysql-client -y

CentOS/RHEL系统用yum或dnf安装:

sudo yum install mysql -y

安装完成后,输入mysql --version验证是否成功,有版本信息输出,说明客户端就绪。

第二步:执行连接命令

基础连接命令格式如下:

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

实际执行时,系统会提示输入密码,输入密码时不显示任何字符,这是正常的安全机制。

连接本机数据库可以简写:

mysql -u root -p

连接远程服务器,假设IP是192.168.1.100,端口是3306,用户是admin:

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

指定数据库直连,在命令末尾追加数据库名:

mysql -h 192.168.1.100 -u admin -p my_database

第三步:常见连接报错排查

连接失败时,报错信息直接决定了排查方向,不要盲目重试。

linux如何连数据库服务器,linux怎么连mysql?

报错信息 原因 解决办法
Access denied for user 用户名或密码错误 核对账号权限,在数据库端执行FLUSH PRIVILEGES
Can’t connect to MySQL server 网络不通或端口未开放 检查防火墙策略,ping测试连通性,telnet测试端口
Host is not allowed to connect 数据库未授权当前IP 在数据库端执行GRANT授权,或修改bind-address配置

行业共识认为,超过半数的远程连接失败源于端口未在防火墙中放行,登录服务器检查一下firewalld或iptables规则,重点确认3306端口对当前来源IP是ACCEPT状态。

linux数据库连接工具哪个好用

命令行虽然高效,但日常管理多个数据库时,图形化工具效率更高,选择一个合适的工具,可以明显减少重复输入命令的时间。

命令行工具:运维首选

mysql命令、psql命令(PostgreSQL)和redis-cli(Redis)是Linux自带生态的标配,轻量、稳定、不依赖图形界面,在纯命令行服务器环境或SSH远程场景下是唯一选择。

图形化工具:管理效率翻倍

DBeaver:开源免费,支持几乎所有主流数据库(MySQL、PostgreSQL、Oracle、SQL Server等),Linux下安装后,通过JDBC驱动连接,其社区版功能已经足够日常运维使用。

Navicat for MySQL:商业软件,界面友好度高,功能完善,但收费,适合企业采购或预算充足的个人开发者。

DataGrip:JetBrains出品,智能提示功能强大,适合写SQL较多的开发场景,同样需要付费。

图形化工具连接步骤

以DBeaver为例,连接流程如下:

  1. 下载Linux版本安装包(.tar.gz格式)并解压。
  2. 运行dbeaver启动程序。
  3. 点击左上角”新建连接”图标,选择数据库类型。
  4. 填写主机、端口、用户名、密码。
  5. 点击”测试连接”,提示成功即完成配置。

下载DBeaver时要注意选择适配的架构,x86_64服务器和ARM服务器(如华为鲲鹏)使用的安装包不同,选错会导致无法启动。

远程连接PostgreSQL和Redis的差异

不同数据库的连接逻辑有共性,但细节差异常被忽略。

PostgreSQL连接

PostgreSQL默认只监听本地回环地址localhost,要远程连接,必须先修改配置文件。

编辑postgresql.conf,找到listen_addresses,改为:

listen_addresses = ''

再编辑pg_hba.conf,添加允许远程访问的规则:

host    all             all             192.168.1.0/24         md5

修改完成后重启服务,然后使用psql连接:

linux如何连数据库服务器,linux怎么连mysql?

psql -h 192.168.1.100 -p 5432 -U postgres -d my_database

如果连接超时,先检查服务器安全组规则,再检查Linux防火墙,最后确认pg_hba.conf是否生效。

Redis连接

Redis属于NoSQL数据库,连接方式有差异,默认无认证,生产环境必须配置密码。

修改redis.conf:

requirepass your_strong_password
bind 0.0.0.0
protected-mode yes

使用redis-cli连接:

redis-cli -h 192.168.1.100 -p 6379 -a your_strong_password

误在命令行直接带-a参数会留下历史记录,建议连接后再执行AUTH命令验证身份,比直接在命令中暴露密码更安全。

各数据库连接参数对比

数据库 默认端口 客户端工具 远程连接关键点
MySQL 3306 mysql 授权远程用户权限,防火墙放行
PostgreSQL 5432 psql 修改listen_addresses和pg_hba.conf
Redis 6379 redis-cli 设置密码,绑定监听地址

用Python脚本连接数据库的场景

命令行适合临时查询,但自动化运维脚本中,更常用编程语言的数据库驱动。

以Python连接MySQL为例:

pip install pymysql

连接脚本:

import pymysql
conn = pymysql.connect(
    host='192.168.1.100',
    port=3306,
    user='admin',
    password='your_password',
    database='my_database'
)
cursor = conn.cursor()
cursor.execute("SELECT VERSION()")
print(cursor.fetchone())
cursor.close()
conn.close()

跑通这段代码,说明当前Linux服务器具备通过Python操作数据库的能力,同理,PostgreSQL用psycopg2,Redis用redis-py。

编程连接时特别要注意字符集问题,连接参数中增加charset='utf8mb4',避免中文数据乱码,这是运维过程中相当一部分数据异常问题的根源。

数据库服务器连接的安全底线

连接通了只是第一步,安全问题不能留死角。

限制授权范围:给应用分配的账号,只授予必要库的必要权限,不要直接给ALL PRIVILEGES,比如只读账号就只给SELECT权限,写入操作单独用一个账号。

linux如何连数据库服务器,linux怎么连mysql?

禁止root远程连接:创建一个专用账号,限定来源IP,比如'appuser'@'192.168.1.%'格式,这样即使密码泄露,影响面也受限。

开启SSL连接:MySQL和PostgreSQL都支持SSL加密传输,数据链路不加密的情况下,密码和明文数据可能被嗅探,生产环境通过--ssl-mode=REQUIRED参数强制加密。

使用SSH隧道:数据库端口对公网不可见,通过SSH隧道访问:

ssh -L 3306:127.0.0.1:3306 user@服务器IP

本地3306端口转发到服务器内网,然后连接0.0.1:3306即可,这是最稳妥的远程连接方案,数据库不用暴露公网端口。

常见问题排查思路

遇到连接不上,按顺序检查,切忌盲目重装。

  1. ping服务器IP,确认网络链路通不通。
  2. telnet测试端口,telnet 192.168.1.100 3306,能连上说明端口已放开,连不上说明防火墙或安全组拦截。
  3. 检查数据库服务状态,systemctl status mysqld或systemctl status postgresql,确认服务在运行。
  4. 查看日志,MySQL日志在/var/log/mysql/error.log,PostgreSQL日志在/var/log/postgresql/postgresql-版本-main.log,报错信息能直接定位问题。
  5. 验证账号权限,在数据库服务器本机执行mysql -u 用户名 -p,本机能连而远程不能连,问题出在授权或网络层。

Q&A:linux数据库怎么连接数据库服务器常见疑问

问:linux连接mysql数据库的命令忘记了怎么办?

答:执行mysql --help查看帮助,或直接输入mysql -u root -p进入交互式环境后,用help;命令查看,更直接的方式是在shell中输入mysql -h IP -P 端口 -u 用户名 -p,回车后按提示输入密码即可,系统会缓存最近执行过的命令,按键盘上方向键↑可以快速找回历史命令。

问:为什么我在Linux上能ping通数据库服务器,但连接MySQL时提示Can’t connect?

答:ping通只能证明ICMP协议可达,不代表3306端口对外开放,按顺序排查:先执行telnet 服务器IP 3306确认端口状态;再检查服务器防火墙规则,CentOS系统用firewall-cmd --list-all查看,Ubuntu系统用sudo ufw status查看;最后确认MySQL是否监听了所有网卡,执行netstat -tlnp | grep 3306,监听地址是0.0.0.0:3306才算正常。

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

赞 (0)
百度云服务器DNS解析失败怎么解决,dns解析失败怎么办?
上一篇 2026年9月17日 06:13
运维服务器工具究竟有哪些,服务器运维必备软件有哪些
下一篇 2026年9月17日 06:16

相关推荐

  • 金铲铲怎么看自己的id在哪个服务器,怎么查?

    金铲铲怎么看自己id在哪个服务器?答案很直接:打开游戏主界面,点头像进个人主页,看ID下方的区服标签,上面写着“艾欧尼亚”“班德尔城”之类的名字,那个就是你的服务器,多数玩家之所以找不到这个入口,是因为金铲铲之战不像端游英雄联盟那样有选服步骤,登录微信或QQ时系统就自动帮你分好了区,导致区服信息藏得比较深,这篇……

    2026年9月6日
    000
  • 简米云服务器ECS别人怎么登录密码?,忘记密码怎么办?

    阿里云服务器ECS的登录密码只有你自己知道,别人无法直接“登陆”你的实例——除非你在创建实例时设置的密码被泄露,或者你主动把密码告诉对方, 要理解“别人怎么登陆密码”这个问题,先得明白ECS的密码机制和登录路径,阿里云服务器ECS别人怎么登陆密码?先弄懂密码机制很多用户第一次接触ECS时会困惑:服务器到底存不存……

    2026年10月13日
    100
  • ASP.NET长连接为何如此关键?揭秘其提升Web性能的奥秘!

    ASP.NET长连接技术:构建实时应用的强大引擎ASP.NET中的长连接技术是突破传统HTTP请求-响应模式的关键,它允许服务器主动向客户端推送数据,为实时聊天、在线协作、金融行情、即时通知等场景提供核心支撑,其核心价值在于建立持久、双向的通信通道,消除轮询带来的延迟与资源浪费,ASP.NET长连接核心技术剖析……

    2026年2月6日
    14530
  • 如何高效进行服务器虚拟化运维,常见故障及解决方法有哪些?

    服务器虚拟化运维的核心在于通过对计算、存储和网络资源的精细化隔离与动态调度,在保证业务高可用性的前提下,最大化物理硬件的利用率,企业级虚拟化服务器运维怎么做企业级虚拟化运维不再是简单的“装机”和“重启”,而是一套涵盖资源规划、性能监控、安全加固和自动化管理的闭环体系,业内专家指出,成熟的运维体系应将关注点从单台……

    2026年7月13日
    1200
  • 服务器怎么给其他玩家权限?,游戏服务器如何设置玩家权限?

    服务器给另一个玩家权限,核心方法就一条:确认服务端类型(原版还是插件服),然后使用对应的命令操作,插件服最常用的是LuckPerms权限插件,这个问题看似简单,但每次开服都有人卡在“给了权限没生效”或者“不小心把OP给了熊孩子”的尴尬局面上,下面我把最常见的场景逐个拆开,直接给出能用的命令和操作路径,我的世界服……

    2026年10月17日
    200
  • 服务器ftp550目录是什么原因,ftp550错误如何解决

    FTP 550 错误是文件传输协议操作中常见的响应代码,其核心含义为“请求的操作未执行”,通常表现为文件不可用、权限不足或目录锁定,解决该问题的关键在于精准定位权限配置、目录路径映射以及服务端安全策略,而非单纯依赖客户端操作,当用户遭遇服务器ftp550目录相关报错时,应优先排查服务端的用户权限与文件系统归属权……

    2026年4月3日
    10600
  • 苹果5s手机为什么无法接通激活服务器,怎么解决?

    如果你的苹果5s提示“无法接通激活服务器”,绝大多数情况不是手机坏了,而是系统时间错误、网络DNS污染或旧版本iOS的激活证书失效导致,按本文三步操作即可解决,时间与日期错误是激活失败的“头号元凶”iPhone 5s作为2013年发布的机型,很多还停留在iOS 9、iOS 10等老版本系统,这些老系统在连接苹果……

    2026年8月22日
    2100
  • 合肥物理机租用哪家服务商最正规,怎么选?

    在合肥租用物理机,判断服务商正规性的核心标准在于其IDC经营资质、机房物理等级与售后响应能力, 具备工信部颁发的IDC许可证、自建或长期租用T3+级机房、并提供7×24小时现场技术支持的服务商,才值得长期合作,如何判断合肥物理机租用服务商是否正规?资质先行:IDC经营许可证是门槛服务商必须持有《增值电信业务经营……

    2026年7月27日
    700
  • 彩虹六号服务器怎么改才有效,彩虹六号服务器怎么改地区?

    彩虹六号服务器怎么改,核心就两条:PC端优先在游戏内“数据中心”或GameSettings.ini的DataCenterHint字段改匹配机房;主机端没有原生服务器列表,只能靠加速器节点、账号地区和网络出口间接影响匹配,先别急着找“一键改服工具”,彩虹六号的服务器选择,本质是客户端向匹配系统上报一个“想连的数据……

    程序编程 2026年11月4日
    000
  • 服务器c5好吗?c5服务器性能怎么样值得买吗

    服务器C5在特定场景下表现优异,尤其适合高性能计算和大规模数据处理需求,但在通用场景下可能存在资源浪费或成本过高的问题,以下从性能、适用场景、成本效益等维度展开分析,帮助您做出决策,核心性能表现计算能力:C5实例搭载Intel Xeon Platinum 8000系列处理器,单核性能提升约25%,适合计算密集型……

    2026年4月8日
    9300

发表回复

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