Linux远程连接数据库命令有哪些?

在Linux系统中远程连接数据库是常见的运维操作,不同数据库类型(如MySQL、PostgreSQL、MongoDB等)使用的命令和工具略有差异,但核心流程均涉及客户端安装、参数配置及权限验证,以下将详细讲解主流数据库的远程连接命令、参数说明及注意事项,并辅以表格对比关键信息,最后附相关FAQs。

linux 远程连接数据库命令
(图片来源网络,侵删)

MySQL/MariaDB远程连接命令

MySQL和MariaDB作为关系型数据库,常用mysql命令行工具进行连接,基本语法为:
mysql -h 主机地址 -P 端口号 -u 用户名 -p密码 -D 数据库名
参数说明

  • -h:数据库服务器IP地址或域名(如168.1.100db.example.com);
  • -P:端口号,MySQL默认为3306,若使用非默认端口需明确指定;
  • -u:数据库用户名(如root或自定义用户);
  • -p:密码,若直接在命令中写-p密码,密码会明文显示在命令历史中,建议仅输入-p后回车,在交互界面输入密码更安全;
  • -D:指定连接后默认操作的数据库,可选参数。

示例

# 连接IP为192.168.1.100、端口3306的MySQL服务器,用户名为admin,密码通过交互输入
mysql -h 192.168.1.100 -P 3306 -u admin -p
# 连接并指定使用test_db数据库
mysql -h 192.168.1.100 -u admin -ptest_db -p123456

注意事项

  1. 确保数据库服务器允许远程连接(修改my.cnf配置文件,bind-address=0.0.0.0表示允许所有IP连接,或指定特定IP);
  2. 授权远程用户:登录数据库后执行GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' IDENTIFIED BY 'password';(表示所有IP,可替换为特定IP),并执行FLUSH PRIVILEGES;刷新权限;
  3. 防火墙需开放MySQL端口(如iptables -A INPUT -p tcp --dport 3306 -j ACCEPTfirewall-cmd --add-port=3306/tcp --permanent)。

PostgreSQL远程连接命令

PostgreSQL使用psql工具连接,基本语法为:
psql -h 主机地址 -p 端口号 -U 用户名 -d 数据库名 -W
参数说明

linux 远程连接数据库命令
(图片来源网络,侵删)
  • -h:数据库服务器地址;
  • -p:端口号,PostgreSQL默认为5432
  • -U:用户名;
  • -d:数据库名;
  • -W:强制提示输入密码,避免明文传递。

示例

# 连接PostgreSQL服务器,用户为postgres,密码交互输入
psql -h 192.168.1.100 -p 5432 -U postgres -W
# 连接并指定使用mydb数据库
psql -h 192.168.1.100 -U postgres -d mydb -W

注意事项

  1. 修改pg_hba.conf文件,添加远程连接规则(如host all all 0.0.0.0/0 md5,表示所有IP可通过md5加密密码连接);
  2. 修改postgresql.conf文件,设置listen_addresses = '*'
  3. 授权用户:执行CREATE USER admin WITH PASSWORD 'password';创建用户,GRANT ALL PRIVILEGES ON DATABASE mydb TO admin;授权;
  4. 防火墙开放5432端口。

MongoDB远程连接命令

MongoDB是NoSQL数据库,使用mongomongosh(新版)命令连接,语法为:
mongo 主机地址:端口号/数据库名 --username 用户名 --password 密码 --authenticationDatabase 认证数据库
参数说明

  • 主机地址:端口号:如168.1.100:27017,默认端口27017
  • /数据库名:指定连接的数据库,可选;
  • --username--password:认证信息;
  • --authenticationDatabase:认证数据库,通常为admin

示例(使用mongosh)

linux 远程连接数据库命令
(图片来源网络,侵删)
# 连接MongoDB服务器,认证数据库为admin
mongosh 192.168.1.100:27017 --username admin --password password --authenticationDatabase admin
# 连接并指定使用mydb数据库
mongosh 192.168.1.100:27017/mydb -u admin -p password --authenticationDatabase admin

注意事项

  1. 修改mongod.conf配置文件,设置bindIp: 0.0.0.0允许远程连接;
  2. 创建用户并授权:在admin数据库执行db.createUser({user: "admin", pwd: "password", roles: ["root"]})
  3. 防火墙开放27017端口。

主流数据库远程连接命令对比表

数据库类型客户端工具基本语法示例默认端口关键配置文件
MySQL/MariaDBmysqlmysql -h 192.168.1.100 -P 3306 -u admin -p3306my.cnf (MySQL) 或 mariadb.cnf (MariaDB)
PostgreSQLpsqlpsql -h 192.168.1.100 -p 5432 -U postgres -W5432postgresql.conf、pg_hba.conf
MongoDBmongoshmongosh 192.168.1.100:27017 --username admin --password password27017mongod.conf

通用注意事项

  1. 网络安全:避免使用公网IP直接暴露数据库,可通过VPN或内网穿透工具(如FRP)访问;
  2. 密码复杂度:设置强密码并定期更换,避免使用默认用户名(如MySQL的root);
  3. 连接超时:若连接频繁断开,可调整数据库的超时参数(如MySQL的wait_timeout);
  4. 日志记录:开启数据库日志,记录远程连接操作以便排查问题。

相关问答FAQs

Q1: 连接MySQL时提示“Access denied for user ‘admin’@’192.168.1.101’”,如何解决?
A: 此错误通常为权限不足,需检查以下三点:

  1. 确认用户admin是否存在,若不存在需执行CREATE USER 'admin'@'%' IDENTIFIED BY 'password';创建;
  2. 确认用户是否有远程访问权限,执行GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%';FLUSH PRIVILEGES;
  3. 检查user表中Host字段是否为(允许所有IP)或指定IP(如168.1.%),可通过SELECT User, Host FROM mysql.user;查看。

Q2: PostgreSQL远程连接时提示“FATAL: no pg_hba.conf entry for host”,如何处理?
A: 该错误表明pg_hba.conf中未配置远程连接规则,解决步骤:

  1. 编辑pg_hba.conf文件(通常位于/var/lib/pgsql/data//etc/postgresql/版本号/main/),添加规则如host all all 192.168.1.0/24 md5(允许168.1.0/24网段通过md5密码连接);
  2. 重启PostgreSQL服务:systemctl restart postgresql
  3. 确认postgresql.conflisten_addresses设置为或'0.0.0.0',并重启服务生效。

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/385205.html<

(0)
运维的头像运维
上一篇2025-10-06 23:54
下一篇 2025-10-06 23:59

相关推荐

  • Linux MySQL退出命令是哪个?

    在Linux操作系统中,与MySQL数据库的交互通常通过命令行客户端完成,而退出MySQL命令行环境是日常操作中的基础环节,掌握正确的退出命令不仅能提升操作效率,还能避免因异常退出导致的数据或连接问题,本文将详细解析Linux环境下MySQL的退出命令,涵盖多种退出方式、适用场景及注意事项,并通过表格对比不同命……

    2025-11-20
    0
  • Windows下重启MySQL命令是什么?

    在Windows操作系统中重启MySQL服务是数据库管理和维护中常见的操作,无论是配置修改后使生效、解决服务异常还是进行系统维护,掌握正确的重启方法都至关重要,Windows环境下重启MySQL服务主要有多种途径,包括通过命令提示符(CMD)或PowerShell执行命令、通过服务管理器图形界面操作,以及借助第……

    2025-11-19
    0
  • 华为SSH登录命令是什么?

    华为设备作为网络基础设施中的常见节点,其SSH登录配置与管理是网络管理员必备技能,SSH(Secure Shell)协议通过加密传输确保了远程管理的安全性,相比传统的Telnet协议,能有效防止信息泄露和中间人攻击,以下将详细介绍华为设备SSH登录的完整流程,包括生成密钥、配置服务器端、客户端连接等关键步骤,并……

    2025-11-17
    0
  • Centos MySQL启动命令是什么?

    在CentOS系统中,MySQL的启动命令是数据库管理员日常操作中常用的基础指令,掌握其正确使用方法及相关的管理技巧对于系统维护至关重要,CentOS系统下MySQL的安装方式不同(如通过yum源安装、二进制包安装或源码编译安装),其服务名称和启动命令可能存在细微差异,但核心逻辑一致,以下将详细说明不同场景下的……

    2025-11-17
    0
  • 网站建数据库,该选哪种类型?

    网站如何建数据库是开发过程中至关重要的一环,数据库的设计与搭建直接影响网站的数据存储、查询效率和整体性能,以下是详细的步骤和注意事项,帮助从零开始完成网站数据库的构建,明确数据库需求是基础,需要分析网站的功能模块,确定需要存储哪些数据,例如用户信息(用户名、密码、邮箱)、商品信息(名称、价格、库存)、文章内容……

    2025-11-15
    0

发表回复

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