Linux如何查看数据库版本?

在Linux下,查看数据库版本通常通过命令行工具执行特定命令。 ,- **MySQL/MariaDB**:运行 mysql --version 或登录后执行 SELECT VERSION(); ,- **PostgreSQL**:使用 psql --version 或登录后执行 SELECT version(); ,- **Oracle**:登录SQL*Plus后执行 SELECT * FROM v$version; ,其他数据库类似,需使用对应客户端工具查询版本信息。

关系型数据库

MySQL / MariaDB

方法1:通过客户端命令

Linux如何查看数据库版本?

mysql --version
# 或
mysql -V

输出示例
mysql Ver 8.0.33-0ubuntu0.22.04.2 for Linux on x86_64 ((Ubuntu))

方法2:登录数据库查询

mysql -u root -p -e "SELECT VERSION();"
# 或登录后执行:
SHOW VARIABLES LIKE "%version%";

关键输出项

  • version:核心版本号
  • version_comment:发行版信息(如Ubuntu编译版)
  • version_compile_os:操作系统平台

方法3:查看安装包信息(适用于Debian/Ubuntu)

dpkg -l | grep mysql-server
# 或
apt show mysql-server

PostgreSQL

方法1:命令行工具

psql --version

方法2:数据库内查询

sudo -u postgres psql -c "SELECT version();"

输出示例
PostgreSQL 14.7 (Ubuntu 14.7-0ubuntu0.22.04.1) on x86_64-pc-linux-gnu

方法3:配置文件查看

cat /etc/postgresql/*/main/postgresql.conf | grep '^#?version'

Oracle Database

*方法1:SQLPlus查询**

Linux如何查看数据库版本?

SELECT * FROM v$version;

典型输出

Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production

方法2:查看安装目录

cat $ORACLE_HOME/inventory/ContentsXML/comps.xml | grep version

SQLite

方法1:终端命令

sqlite3 --version
# 输出示例:3.37.2 2022-01-06 13:25:41

方法2:交互式查询

sqlite3 :memory: "SELECT sqlite_version();"

NoSQL数据库

MongoDB

方法1:Shell命令

mongod --version

输出包含

  • db version v5.0.14
  • 构建环境(如modules: enterprise

方法2:Mongo Shell

db.version()

Redis

方法1:服务端命令

redis-server -v
# 或详细版本
redis-server --version | awk '{print $3}'

方法2:客户端查询

Linux如何查看数据库版本?

redis-cli info server | grep redis_version

Cassandra

方法1:终端命令

cassandra -v
# 输出:3.11.14

方法2:CQL Shell

SELECT release_version FROM system.local;

自动化脚本模板(一键获取版本)

#!/bin/bash
DB_TYPE=$1
case $DB_TYPE in
  mysql)
    mysql -V | awk '{print $5}' | cut -d',' -f1
    ;;
  postgres)
    psql --version | awk '{print $3}'
    ;;
  redis)
    redis-server --version | awk '{print $3}' | cut -d'=' -f2
    ;;
  *)
    echo "Usage: $0 {mysql|postgres|redis}"
    ;;
esac

使用示例./db_version.sh mysql


注意事项

  1. 权限问题

    • 需要sudo权限访问系统命令(如dpkg
    • 数据库查询需用户有SELECT权限
  2. 容器环境
    在Docker中执行命令需进入容器:

    docker exec -it mysql_container mysql -V
  3. 多实例场景
    PostgreSQL等多实例环境需指定端口:

    psql -p 5433 -c "SELECT version();"

为什么需要准确获取版本?

  1. 安全合规:确认是否受CVE漏洞影响(如MySQL JDBC注入漏洞CVE-2022-2141)
  2. 功能依赖:GIS空间函数等特性需特定版本支持
  3. 升级规划:评估版本兼容性(如MySQL 5.7 → 8.0的语法变更)

引用说明

原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/11357.html

(0)
酷盾叔的头像酷盾叔
上一篇 2025年6月3日 19:21
下一篇 2025年6月3日 19:27

相关推荐

  • linux如何挂载新硬盘

    Linux 中挂载新硬盘,先查看硬盘情况(如用 lsblk),然后格式化(如 sudo mkfs -t ext4 /dev/sda1),创建挂载目录(如 sudo mkdir /data),再用 sudo mount /dev/sda1 /data 挂载,最后可将信息添加到 /etc/fstab 以实现开机自动挂载

    2025年7月13日
    3400
  • win8里如何安装cdlinux

    在Win8中安装CDLinux需借助虚拟机(如VirtualBox):下载CDLinux镜像→新建虚拟机→加载镜像文件→按提示完成

    2025年8月17日
    2900
  • linux如何查看软件是否安装

    Linux中,可通过命令如dpkg -l | grep 软件名(Debian系)或rpm -qa | grep 软件名(Red Hat系)查看软件是否安装

    2025年7月8日
    7700
  • linux如何处理rpm文件

    Linux通过rpm命令管理RPM包,常用操作:安装(rpm -i)、卸载(rpm -e)、查询(rpm -q)、升级(rpm -U),可加参数如–nodeps

    2025年8月17日
    2800
  • linux系统如何测试网速

    Linux系统中,可以使用speedtest-cli命令来测试网速,首先需要安装该工具,通过命令sudo apt-get install speedtest-cli(适用于Debian/Ubuntu系统)或sudo yum install speedtest-cli(适用于CentOS/RHEL系统)。

    2025年8月8日
    6200

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN