当前位置:首页 > Linux > 正文

Linux如何查看数据库版本?

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

关系型数据库

MySQL / MariaDB

方法1:通过客户端命令

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

Linux如何查看数据库版本? 第1张

方法3:配置文件查看

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


Oracle Database

*方法1:SQLPlus查询**

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:终端命令

Linux如何查看数据库版本? 第2张

方法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如何查看数据库版本? 第3张

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的语法变更)

引用说明

0