mysql作为常用的关系型数据库,其服务的启动与运行状态查看是数据库运维和开发过程中的基础操作,不同操作系统下的操作方式存在一定差异,掌握对应的命令和技巧能大幅提升工作效率。

Windows系统下mysql启动命令与状态查看
mysql启动命令
Windows系统中可以通过服务管理器或者命令行启动mysql,常用的命令行启动方式如下:
:: 以管理员身份打开命令提示符,启动mysql服务,服务名默认是MySQL,若自定义过服务名需替换 net start MySQL :: 若配置了mysql的环境变量,也可以通过mysqld命令启动,指定配置文件路径(可选) mysqld --defaults-file="C:ProgramDataMySQLMySQL Server 8.0my.ini"
查看运行状态方法
Windows下查看mysql运行状态可以通过以下几种方式:
- 使用服务管理器查看:按下Win+R输入services.msc,找到mysql对应的服务,查看状态栏显示是否为正在运行。
- 使用命令行查看:执行
sc query MySQL命令,查看STATE字段是否为RUNNING。 - 使用mysql客户端连接测试:执行
mysql -u root -p,若能成功进入mysql交互界面,说明服务正常运行。
Linux系统下mysql启动命令与状态查看
mysql启动命令
Linux系统的发行版不同,mysql的启动命令也有区别,主要分为systemd和sysvinit两种管理方式:
# systemd管理的系统(如CentOS 7+、Ubuntu 16.04+),启动mysql服务 systemctl start mysqld # 若服务名是mysql,替换为以下命令 systemctl start mysql # sysvinit管理的系统(如CentOS 6、Ubuntu 14.04),启动mysql服务 service mysqld start # 或者直接调用mysqld_safe脚本启动,后台运行mysql mysqld_safe --defaults-file=/etc/my.cnf &
查看运行状态方法
Linux下查看mysql运行状态的常用方法如下:
- 使用systemctl命令查看:执行
systemctl status mysqld,输出中Active字段显示active (running)则服务正常运行。 - 使用service命令查看:执行
service mysqld status,会直接返回服务的运行状态提示。 - 查看进程是否存在:执行
ps -ef | grep mysqld,若能看到mysqld相关进程,说明服务正在运行。 - 查看端口监听情况:mysql默认监听3306端口,执行
netstat -tlnp | grep 3306或者ss -tlnp | grep 3306,若有监听记录则服务正常。
macOS系统下mysql启动命令与状态查看
mysql启动命令
macOS下通过homebrew安装的mysql和官方pkg安装的mysql启动方式略有不同:
# homebrew安装的mysql,启动服务 brew services start mysql # 官方pkg安装的mysql,启动服务 sudo /usr/local/mysql/support-files/mysql.server start # 也可以直接调用mysqld启动 sudo mysqld_safe --datadir=/usr/local/mysql/data &
查看运行状态方法
- 使用homebrew命令查看:执行
brew services list,找到mysql项,查看status列是否为started。 - 使用mysql.server脚本查看:执行
sudo /usr/local/mysql/support-files/mysql.server status,会返回服务的运行状态。 - 通过进程查看:执行
ps aux | grep mysqld,确认是否有mysqld进程运行。
通用状态查看技巧
除了系统层面的查看方式,还可以通过mysql内置命令查看运行状态:
-- 登录mysql后,执行以下命令查看服务器状态 SHOW STATUS; -- 查看当前服务器的运行信息,包含版本、运行时间等 SHOW GLOBAL STATUS LIKE 'Uptime'; -- 查看当前连接数 SHOW GLOBAL STATUS LIKE 'Threads_connected';
如果执行SHOW STATUS命令能正常返回结果,说明mysql服务处于正常运行状态,同时可以通过返回的参数了解服务的详细运行情况。
常见问题排查
如果启动mysql失败或者查看状态显示未运行,可以从以下几个方面排查:
- 检查配置文件是否有语法错误,比如
my.cnf或者my.ini中的参数格式是否正确。 - 检查3306端口是否被其他程序占用,占用会导致mysql启动失败。
- 检查数据目录的权限是否正确,mysql进程需要有数据目录的读写权限。
- 查看mysql的错误日志,默认路径一般在
/var/log/mysqld.log(Linux)或者C:ProgramDataMySQLMySQL Server 8.0Data主机名.err(Windows),日志中会记录启动失败的具体原因。