在 Linux 系统中查看 MySQL 版本有多种方法,下面为您详细介绍从简单到全面的各种查看方式。
mysql --version
(最常用)
mysql --version
输出示例:
mysql Ver 8.0.33 for Linux on x86_64 (MySQL Community Server - GPL)
mysql -V
(简写)
mysql -V
# 查看 mysqld 版本
mysqld --version
# 或者
mysqld -V
VERSION()
函数
mysql -u root -p -e "SELECT VERSION();"
输出示例:
+-----------+
| VERSION() |
+-----------+
| 8.0.33 |
+-----------+
mysql -u root -p -e "SELECT @@version;"
mysql -u root -p -e "SHOW VARIABLES LIKE '%version%';"
输出示例:
+-------------------------+------------------------------+
| Variable_name | Value |
+-------------------------+------------------------------+
| version | 8.0.33 |
| version_comment | MySQL Community Server |
| version_compile_machine | x86_64 |
| version_compile_os | Linux |
| version_compile_zlib | 1.2.13 |
+-------------------------+------------------------------+
# Systemd 系统
sudo systemctl status mysql
# 或者
sudo systemctl status mysqld
在服务状态信息中通常会包含版本信息。
# Red Hat/CentOS/Fedora
rpm -qa | grep mysql
# 或者更精确的查询
rpm -qi mysql-server
rpm -qi mysql-community-server
# Debian/Ubuntu
dpkg -l | grep mysql
# 或者
apt show mysql-server
ps aux | grep mysql
# 查找 MySQL 安装路径
which mysql
# 查看详细信息
ls -l $(which mysql)
# 通常数据目录在 /var/lib/mysql
sudo cat /var/lib/mysql/mysql_upgrade_info
# 查看错误日志路径
mysql -u root -p -e "SHOW VARIABLES LIKE 'log_error';"
# 然后查看日志文件开头部分
sudo head -20 /var/log/mysql/error.log
#!/bin/bash
# mysql_version_check.sh
echo "=== MySQL 版本信息综合查询 ==="
echo
echo "1. 命令行版本:"
mysql --version 2>/dev/null || echo "mysql 命令未找到"
echo
echo "2. 服务状态:"
sudo systemctl status mysql 2>/dev/null | head -3 || sudo systemctl status mysqld 2>/dev/null | head -3
echo
echo "3. 数据库版本:"
mysql -u root -p -e "SELECT VERSION() as 'MySQL版本';" 2>/dev/null || echo "无法连接到MySQL"
echo
echo "4. 安装包信息:"
if command -v rpm &> /dev/null; then
rpm -qa | grep -i mysql | head -5
elif command -v dpkg &> /dev/null; then
dpkg -l | grep -i mysql | head -5
fi
使用方法:
chmod +x mysql_version_check.sh
./mysql_version_check.sh
将以下函数添加到你的 .bashrc
文件中:
mysqlver() {
echo "MySQL客户端版本:"
mysql --version 2>/dev/null || echo "未安装MySQL客户端"
echo -e "\nMySQL服务版本:"
mysql -u root -p -e "SELECT VERSION();" 2>/dev/null || echo "无法连接到MySQL服务"
echo -e "\nMySQL服务状态:"
sudo systemctl status mysql 2>/dev/null | head -3 || sudo systemctl status mysqld 2>/dev/null | head -3
}
然后执行:
source ~/.bashrc
mysqlver
mysql -h hostname -u username -p -e "SELECT VERSION();"
mysql -h localhost -P 3307 -u root -p -e "SELECT VERSION();"
mysql -S /var/run/mysqld/mysqld.sock -u root -p -e "SELECT VERSION();"
#!/usr/bin/env python3
import subprocess
import mysql.connector
try:
# 方法1: 命令行版本
result = subprocess.run(['mysql', '--version'], capture_output=True, text=True)
print(f"命令行版本: {result.stdout.strip()}")
# 方法2: 数据库连接版本
conn = mysql.connector.connect(
host='localhost',
user='root',
password='your_password'
)
cursor = conn.cursor()
cursor.execute("SELECT VERSION()")
version = cursor.fetchone()[0]
print(f"数据库版本: {version}")
cursor.close()
conn.close()
except Exception as e:
print(f"错误: {e}")
<?php
try {
$conn = new PDO("mysql:host=localhost", "root", "your_password");
$version = $conn->getAttribute(PDO::ATTR_SERVER_VERSION);
echo "MySQL 版本: " . $version . "\n";
} catch(PDOException $e) {
echo "连接失败: " . $e->getMessage() . "\n";
}
?>
# 使用 sudo 权限
sudo mysql -e "SELECT VERSION();"
# 或者修改 MySQL 配置跳过权限验证(谨慎使用)
# 检查服务状态
sudo systemctl status mysql
# 启动服务
sudo systemctl start mysql
# 然后再次查询版本
mysql --version
# 查看所有 mysql 相关二进制文件
ls -l /usr/bin/mysql*
# 使用完整路径查询特定版本
/usr/bin/mysql --version
/usr/local/mysql/bin/mysql --version
场景 |
推荐命令 |
说明 |
快速查看 |
|
最常用,无需登录 |
详细版本 |
|
获取数据库引擎版本 |
完整信息 |
|
查看所有版本相关变量 |
服务状态 |
|
查看服务状态和版本 |
安装信息 |
|
查看安装包版本 |
mysql --version
mysql -u root -p -e "SELECT VERSION();"
sudo systemctl status mysql
mysqld --version
mysql -e "SHOW VARIABLES LIKE 'version';"
通过以上方法,您可以在任何 Linux 环境中轻松查看 MySQL 的版本信息,为系统维护、故障排查和版本升级提供重要依据。
另外搭配便捷的80kmMYSQL备份工具,可定时备份、异地备份,MYSQL导出导入。可本地连接LINUX里的MYSQL,简单便捷。可以大大地提高工作效率喔。