MySQL 服務的啟停方式在 Linux 與 Windows 平台差異較大,且套接字遺失、Root 密碼遺忘等常見故障讓初學者手足無措。本文系統梳理跨平台操作流程與故障恢復步驟,並附最佳實踐建議。
# 建議:專用 mysql 用戶/組運行,避免 root 權限風險
groupadd mysql
useradd -g mysql mysql
chown -R mysql:mysql /usr/local/mysql /data/mysql
# 啟動 (推薦 mysqld_safe 守護進程)
cd /usr/local/mysql
bin/mysqld_safe --user=mysql &
# 或使用 systemd / SysVinit
systemctl start mysqld
# 或
service mysqld start
/etc/init.d/mysqld start
# 關閉
mysqladmin -u root -p shutdown
# 或
systemctl stop mysqld
開機自啟配置:編輯 /etc/my.cnf [mysqld] 區段加入 user=mysql,並將啟動腳本加入 chkconfig 或 systemctl enable。
# 手動啟動 (控制台模式)
cd "C:\Program Files\MySQL\MySQL Server 8.0\bin"
mysqld --console
# 作為 Windows 服務安裝/移除 (需管理員權限)
mysqld --install MySQL80 # 服務名可自定
mysqld --remove MySQL80
# 服務啟停
net start MySQL80
net stop MySQL80
# 或使用 sc 命令
sc start MySQL80
sc stop MySQL80
/tmp/mysql.sock)現象:Can't connect to local MySQL server through socket '/tmp/mysql.sock'
原因:mysql.sock 被誤刪、/tmp 定期清理、多實例衝突。
解決:
# 臨時方案:強制走 TCP/IP (127.0.0.1 ≠ localhost)
mysql -h 127.0.0.1 -u root -p
mysqladmin -h 127.0.0.1 -u root -p shutdown # 關閉後重啟自動重建
# 根治:my.cnf 固定 socket 路徑避開 /tmp
[mysqld]
socket = /var/lib/mysql/mysql.sock
[client]
socket = /var/lib/mysql/mysql.sock
# 1. 停止服務 (優雅關閉刷盤)
kill -TERM $(cat /var/run/mysqld/mysqld.pid)
# 若用 mysqld_safe 需先殺掉守護進程再殺 mysqld
# 2. 跳過權限表啟動
mysqld_safe --skip-grant-tables --skip-networking &
# 3. 無密碼登入並重置
mysql -u root
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPass123!';
# 或 5.7 以下
UPDATE mysql.user SET authentication_string=PASSWORD('NewPass123!') WHERE User='root' AND Host='localhost';
FLUSH PRIVILEGES;
# 4. 正常重啟
mysqladmin -u root -p shutdown
systemctl start mysqld
750、屬主 mysql:mysql。/tmp,配置 [mysqld] 與 [client] 同一路徑。my.cnf 納入 Git 管理,變更留痕。systemctl status mysqld、錯誤日誌 tail -f /var/log/mysqld.log。# 檢查進程
ps -ef | grep mysqld
# 檢查端口
netstat -tlnp | grep 3306
ss -tlnp | grep 3306
# 檢查 Socket
ls -l /var/lib/mysql/mysql.sock
# 測試連接
mysqladmin -u root -p ping
mysql -u root -p -e "SELECT VERSION();"
# 查看錯誤日誌
tail -100 /var/log/mysqld.log
掌握標準化啟停流程與故障恢復 SOP,是 DBA 與運維人員的基本功。建議將上述步驟製成操作手冊,新員工入職必考。