涵蓋非特權用戶運行、三種啟動方式、選項配置、啟動前表檢查、優雅關閉、失聯恢復、Root 密碼重置全流程。
mysqladm/mysqlgrp(RPM 安裝自動創建 mysql 用戶)cd /usr/local/var
chown -R mysqladm:mysqlgrp .
chmod -R go-rwx /usr/local/var # 僅擁有者可訪問
注意:符號鏈接需遞歸修正目標文件權限,需 Root 執行--user=mysqladm(MySQL 3.22+ 支持),舊版用 su - mysqladm -c "mysqld ..."| 方式 | 特點 | 適用場景 | 監控重啟 |
|---|---|---|---|
mysqld 直接調用 | 最精簡,無封裝 | 調試、臨時實例 | 無 |
safe_mysqld 腳本 | 自動定位基礎目錄、重定向錯誤日志、**進程守護自動重啟** | BSD 風格系統、手動運行 | 有 |
mysql.server 腳本 | System V 風格,支持 start/stop 參數,集成啟動級別 | 生產環境、系統服務管理 | 配合 init.d |
# Linux (PPC)
cp mysql.server /etc/rc.d/init.d/
chmod 500 /etc/rc.d/init.d/mysql.server
ln -s ../init.d/mysql.server /etc/rc.d/rc3.d/S99mysql
# Solaris
cp mysql.server /etc/init.d/
chmod 500 /etc/init.d/mysql.server
ln -s ../init.d/mysql.server /etc/rc2.d/S99mysql
# 有 chkconfig 時
chkconfig --add mysql.server
/etc/my.cnf(Unix)或 C:\my.cnf(Windows)TZ 需在 safe_mysqld 中 export TZ=US/Central(Solaris 風格)或 TZ=CST6CDT在啟動腳本中調用 myisamchk/isamchk 掃描表完整性,特別針對崩潰後重啟場景。詳見第 13 章腳本編寫細節。
| 方式 | 命令/機制 |
|---|---|
| 手動 | |
| BSD 系統 | 發送 SIGTERM,進程響應關閉或被強制終止 |
| System V | 調用 mysql.server stop |
/tmp/mysql.sock 被清理腳本刪除mysqladmin -h pit-viper.snake.net shutdown/etc/my.cnf 固定 socket 路徑至數據目錄
[mysqld]
socket=/usr/local/var/mysql.sock
[client]
socket=/usr/local/var/mysql.sock
kill (優先標準 kill,嘗試優雅關閉),無響應才 kill -9(風險:未刷新數據)mysqld --skip-grant-tables &mysql -u rootUPDATE mysql.user SET Password=PASSWORD('newpass') WHERE User='root';
FLUSH PRIVILEGES;
⚠️ 關鍵:若用
kill -9強殺,**重啟前必須跑myisamchk/isamchk檢查修復表**,防止數據不一致。
修改授權表後:mysqladmin flush-privileges 或 mysqladmin reload。