上一篇                     
               
			  Linux如何查看数据库版本?
- Linux
- 2025-06-03
- 3242
 在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
方法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:终端命令
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:客户端查询
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
注意事项
-  权限问题 - 需要sudo权限访问系统命令(如dpkg)
- 数据库查询需用户有SELECT权限
 
- 需要
-  容器环境 
 在Docker中执行命令需进入容器:docker exec -it mysql_container mysql -V 
-  多实例场景 
 PostgreSQL等多实例环境需指定端口:psql -p 5433 -c "SELECT version();" 
为什么需要准确获取版本?
- 安全合规:确认是否受CVE破绽影响(如MySQL JDBC注入破绽CVE-2022-2141)
- 功能依赖:GIS空间函数等特性需特定版本支持
- 升级规划:评估版本兼容性(如MySQL 5.7 → 8.0的语法变更)
引用说明:
- MySQL官方文档:Version Specific Notes
- PostgreSQL版本策略:Versioning Policy
- Redis发布日志:Release Notes
数据最后验证日期:2025年10月(适用于Ubuntu 22.04/CentOS 7+环境)
 
  
			