MySQL服務管理是DBA與運維的基礎技能。本文匯總Systemd、SysV init、mysqld_safe三大體系的操作命令,並說明官方推薦mysqld_safe的核心優勢。
| 體系 | 命令 | 適用場景 |
|---|---|---|
| Systemd (現代Linux標準) | systemctl start mysqld / service mysqld start | CentOS 7+、Ubuntu 16.04+、RHEL 7+ |
| SysV init (傳統) | /etc/init.d/mysqld start | 舊版Linux、容器環境、腳本相容 |
| mysqld_safe (官方推薦) | mysqld_safe & | 源碼安裝、需進程守護、調試場景 |
| 體系 | 命令 | 特點 |
|---|---|---|
| Systemd | systemctl stop mysqld / service mysqld stop | 優雅關閉,執行關閉鉤子 |
| SysV init | /etc/init.d/mysqld stop | 同上 |
| mysqladmin | mysqladmin -u root -p shutdown | 直接發送關閉命令,跨平台通用 |
systemctl restart mysqld / service mysqld restart/etc/init.d/mysqld restart核心優勢:mysqld_safe是一個守護腳本,會持續監控mysqld進程。若進程意外退出(崩潰、OOM Kill、段錯誤),mysqld_safe會自動重啟它,並將錯誤日誌寫入錯誤日誌文件,大幅提升服務可用性。
systemctl status mysqld / service mysqld statussystemctl enable mysqld / chkconfig mysqld onmysqld_multi start 3306(需配置[mysqld3306]段)kill -TERM $(cat /var/run/mysqld/mysqld.pid)(不推薦常規使用)services.msc → MySQL服務 → 啟動/停止/重啟net start mysql / net stop mysqlmysqld --install MySQL57 --defaults-file="C:\my.ini"掌握多種管理方式,根據部署架構(systemd/容器/源碼/Windows)選擇最適命令,配合mysqld_safe守護特性,保障MySQL服務高可用運行。