首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

Linux 平台 MySQL 啟動與關閉六大方式深度對比

     編輯:MySQL 綜合教學

概述

MySQL 在 Linux 上提供多種啟停方式,各有適用場景與底層機制差異。本文基於 MySQL 5.6 實測,系統梳理六種主流方式。

方式對比總覽

方式類型適用場景底層機制
mysqld核心守護進程調試、特殊參數啟動直接執行服務端程式
mysqld_safe安全啟動腳本生產環境推薦監控進程、自動重啟、日誌導向
mysql.serverSysV 初始化腳本系統服務管理調用 mysqld_safe
mysqld_multi多實例管理工具單機多實例讀取 [mysqldN] 組別配置
service mysql系統服務命令標準運維操作調用 /etc/init.d/mysql
/etc/init.d/mysql初始化腳本手動服務控制調用 mysqld_safe
mysqladmin shutdown客戶端管理工具遠程安全關閉發送 SHUTDOWN 命令

詳細分析

1. mysqld - 核心守護進程

# 位置差異
RPM 安裝:/usr/sbin/mysqld
二進制安裝:/bin/mysqld

# 直接執行(需非 root 用戶)
/usr/sbin/mysqld --user=mysql &

缺點:無進程監控、無自動重啟、root 執行受限、前台阻塞。

2. mysqld_safe - 安全啟動腳本(推薦)

  • 自動重導向錯誤日誌
  • 進程異常退出自動重啟
  • 支援 --defaults-file 指定配置
  • 預設以 mysql 用戶運行
mysqld_safe --defaults-file=/etc/my.cnf --user=mysql &

3. mysql.server - 標準初始化腳本

[mysqld1]
port=3306
datadir=/data/mysql1
socket=/tmp/mysql1.sock

[mysqld2]
port=3307
datadir=/data/mysql2
socket=/tmp/mysql2.sock
mysqld_multi start 1,2
mysqld_multi stop 1
mysqld_multi report

5. service / systemctl - 系統級服務管理

# SysV
service mysql start|stop|restart|status

# systemd (CentOS 7+/Ubuntu 16+)
systemctl start|stop|restart|status mysqld

本質調用 /etc/init.d/mysql 或 systemd unit 檔。

6. mysqladmin shutdown - 客戶端安全關閉

mysqladmin -u root -p shutdown
# 僅能關閉,不能啟動
# 可用於 Replica:mysqladmin stop-slave / start-slave

最佳實踐建議

  • 生產環境:系統服務(systemctl/service)或 mysql.server
  • 多實例:mysqld_multi + 系統服務模板化
  • 調試/測試:mysqld_safe 前台運行觀察日誌
  • 自動化腳本:mysqladmin shutdown 實現優雅關閉

參考資源

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved