已经安装了 MySQL 8 和 MySQL 5.7,现在想确认系统中到底运行的是哪个 MySQL 版本

你已经安装了 MySQL 8MySQL 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,你可以:

  1. ps aux | grep mysqld → 看进程路径
  2. mysql -e "SELECT VERSION();" → 直接查版本
  3. which mysqld && mysqld --version → 看默认执行的是哪个
  4. systemctl status mysql → 看服务配置

posted @ 2025-06-28 22:29  aidengduff  阅读(320)  评论(0)    收藏  举报