如何检查mysql服务运行状态

使用 systemctl status mysql 检查服务状态,显示 active (running) 表示正常;2. 通过 ss -tulnp | grep 3306 查看 3306 端口是否监听;3. 执行 mysql -u root -p 尝试登录,验证服务可用性;4. 运行 ps aux | grep mysqld 确认进程存在。综合四项可准确判断 MySQL 运行状态。

要检查 MySQL 服务的运行状态,可以根据操作系统和环境选择合适的方法。以下是几种常用且有效的方式。

使用系统命令查看服务状态

在 Linux 系统中,MySQL 通常作为系统服务运行,可以通过以下命令检查其状态:

  • systemctl(推荐用于 CentOS 7+、Ubuntu 16.04+):
    sudo systemctl status mysql
    或者某些系统使用 mariadbmysqld 名称:
    sudo systemctl status mysqld
  • 如果服务正在运行,会看到 active (running);如果是停止状态,则显示 inactive (dead)

通过 netstat 或 ss 检查端口监听

MySQL 默认使用 3306 端口,可以检查该端口是否被监听:

  • 使用 netstat:
    sudo netstat -tulnp | grep 3306
  • 或使用较新的 ss 命令:
    sudo ss -tulnp | grep 3306
  • 如果有输出并显示 mysqld 进程,说明服务已启动并监听连接。

登录 MySQL 验证服务可用性

即使进程在运行,也可能无法正常响应请求。最直接的方式是尝试登录:

  • 执行命令:
    mysql -u root -p
  • 如果能成功进入 MySQL 命令行界面,说明服务不仅运行,而且可以正常处理请求。
  • 若提示 Can't connect to local MySQL server through socket,则可能是服务未启动或配置异常。

查看 MySQL 进程是否存在

快速确认是否有 MySQL 相关进程在运行:

  • 使用 ps 命令过滤:
    ps aux | grep mysqld
  • 看到类似 /usr/sbin/mysqld 的进程,表示服务可能正在运行。
基本上就这些方法。结合使用可以准确判断 MySQL 是否正常运行。