首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL 啟動與停止完全指南:多種啟動方式、腳本管理、系統服務註冊與 mysqladmin 控制

     編輯:MySQL 資料庫相關知識

MySQL 服務的啟動、停止、重啟、自動掛載是 DBA 日常核心操作。本文系統梳理 mysqld 直啟、safe_mysqld 守護、mysql.server 腳本、Windows 服務、mysqladmin 遠程控制五大體系,並說明選項檔配置與常見坑點。

1. 直接啟動 mysqld / safe_mysqld

建議: 生產環境優先使用 safe_mysqld。

2. mysql.server 腳本管理 (Unix/Linux 標準)

位置

  • 二進制包:share/mysql/mysql.server
  • 原始碼:support-files/mysql.server
  • RPM:/etc/rc.d/init.d/mysql (已改名)

操作

mysql.server start
mysql.server stop

自動啟動配置

cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysql
chmod +x /etc/rc.d/init.d/mysql
/sbin/chkconfig --add mysql
# 或手動建立鏈接
ln -s /etc/rc.d/init.d/mysql /etc/rc.d/rc3.d/S99mysql

指定運行用戶

編輯腳本修改 mysql_daemon_user=root → mysql,或在 /etc/my.cnf [mysql.server] 區段設定 user=mysql。

3. mysqladmin 遠程控制 (跨平台通用)

mysqladmin shutdown          # 關機
mysqladmin reload            # 重載授權表 (平滑重啟)
mysqladmin -u root -p shutdown  # 帶密碼
mysqladmin --help            # 完整選項

優點:無需 root 登入伺服器、支援遠程、適用所有安裝類型。

4. Windows 系統服務

# 安裝為服務
mysqld-nt --install

# my.ini 配置 basedir
[mysqld]
basedir = D:/MySQL

# 服務控制
NET START mysql
NET STOP mysql

註:服務模式下不可直接傳遞 mysqld 參數,需全靠 my.ini。

5. 關鍵啟動選項 (/etc/my.cnf 或 c:/my.cnf)

方式適用平台特點
mysqld &所有前台/後台直啟,無自動重啟、無錯誤日誌重導
safe_mysqld &Unix/Linux自動定位 basedir/datadir、重導 stderr 至錯誤日誌、進程死掉自動重啟、支援 --user 指定運行身分
選項說明
user運行用戶 (配合 mysql.server)
log-error錯誤日誌路徑
log-binBinlog 啟用與路徑 (主從必備)
skip-grant-tables跳過權限 (緊急救援)
socketUnix Socket 路徑 (多實例隔離)
portTCP 埠 (多實例隔離)

常見坑點

  • safe_mysqld 以 root 啟動後,再以普通用戶啟動會報 Access denied (錯誤日誌擁有者衝突) → 刪除錯誤日誌重試。
  • 非標準安裝路徑必須指定 --basedir 或配置 my.cnf。
  • RPM 安裝已內建 chkconfig 整合,勿重複手動建立鏈接。

熟練掌握多種啟停方式,才能在故障搶修、版本升級、遷移擴容等場景游刃有餘。

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