已经安装了 MySQL 8 和 MySQL 5.7,现在想确认系统中到底运行的是哪个 MySQL 版本
你已经安装了 MySQL 8 和 MySQL 5.7,现在想确认系统中到底运行的是哪个 MySQL 版本。下面是完整的排查步骤:
✅ 一、查看当前运行的 MySQL 进程
ps aux | grep mysqld
输出示例:
mysql 1234 0.0 0.1 119396 4564 ? Ssl 10:00 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --user=mysql ...
看 --basedir 和 --datadir 路径可以帮助判断是哪个版本。
✅ 二、查看 MySQL 的启动服务(systemd)
如果你是通过 systemctl 启动的 MySQL:
systemctl status mysql
或使用别名:
systemctl status mysqld
输出会显示服务对应的路径,比如:
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
你可以用以下命令查看具体服务文件内容:
cat /usr/lib/systemd/system/mysqld.service
查找 ExecStart 字段,例如:
ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid
这样可以知道是哪个路径下的 mysqld 在运行。
✅ 三、直接登录 MySQL 查看版本
如果 MySQL 正在运行,可以直接登录并执行查询:
mysql -u root -p -e "SELECT VERSION();"
输出类似:
+-----------+
| VERSION() |
+-----------+
| 5.7.44 |
+-----------+
这能最直观地告诉你当前运行的 MySQL 版本。
✅ 四、查看默认使用的 mysqld 是哪个版本
使用 which 命令查看当前 shell 使用的是哪个 mysqld:
which mysqld
输出可能是:
/usr/sbin/mysqld
然后你可以查看这个可执行文件的版本:
/usr/sbin/mysqld --version
输出示例:
mysqld Ver 5.7.44 for Linux on x86_64 (Source distribution)
✅ 五、查看 MySQL 安装路径和版本信息
你可以使用如下命令列出所有已安装的 MySQL 包:
- CentOS/RHEL 系统:
rpm -qa | grep mysql
- Ubuntu/Debian 系统:
dpkg -l | grep mysql
从中可以判断哪些版本的 MySQL 已安装。
🧠 补充说明:如何避免多个 MySQL 冲突?
如果你同时安装了 MySQL 5.7 和 MySQL 8,可能会出现冲突,建议采取以下措施之一:
方式 1:禁用其中一个服务
sudo systemctl stop mysql
sudo systemctl disable mysql
然后只保留一个版本的服务运行。
方式 2:使用不同端口、数据目录运行两个实例(高级)
可以通过配置不同的 my.cnf 文件来让两个 MySQL 实例分别监听不同端口、使用不同数据目录运行。
✅ 总结一句话:
要确定当前运行的是哪个 MySQL,你可以:
ps aux | grep mysqld→ 看进程路径mysql -e "SELECT VERSION();"→ 直接查版本which mysqld && mysqld --version→ 看默认执行的是哪个systemctl status mysql→ 看服务配置

浙公网安备 33010602011771号