| 平台 | 啟動 | 關閉 | 註冊為服務 |
| Linux | mysqld --user=mysql & 或 systemctl start mysqld | mysqladmin -uroot -p shutdown 或 systemctl stop mysqld | chkconfig --add mysqld / systemd unit |
| Windows | mysqld-nt --install 安裝服務 → net start mysql | net stop mysql | mysqld-nt --install 自動建立服務 |
Linux 生產環境禁止 root 運行 mysqld,建立專用 mysql 用戶/組,數據目錄歸屬 mysql:mysql,my.cnf [mysqld] user=mysql 落地。
Socket 遺失導致無法連線急救
現象:Can't connect to local MySQL server through socket '/tmp/mysql.sock'
# 強制走 TCP 繞過 Socket
mysqladmin -h 127.0.0.1 -u root -p shutdown
# 關閉後重啟服務自動重建 Socket
Root 密碼遺忘標準重置流程
- 安全關閉:
kill -TERM `cat /var/run/mysqld/mysqld.pid`(寫入緩衝再退出)。若無響應再 kill -9(風險:數據未刷盤)。
- 跳過權限表啟動:
mysqld --skip-grant-tables --user=mysql &
- 無密碼登入:
mysql -u root
- 立即執行:
FLUSH PRIVILEGES;(載入權限表、啟用 GRANT)。
- 修改密碼:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'newpass'; (5.7+) 或 UPDATE mysql.user SET authentication_string=PASSWORD('newpass') WHERE User='root';
- 退出,正常關閉
mysqladmin -uroot -pnewpass shutdown,標準啟動驗證。
mysqld_safe 守護進程注意事項
若使用 mysqld_safe 啟動,關閉時需先殺掉 mysqld_safe 父進程,再殺 mysqld,否則會自動重啟。
- 上一篇文章: MySQL 用戶帳號權限管理權威指南:GRANT/REVOKE 實戰詳解
- 下一篇文章: MySQL 表大小限制全景圖:引擎、OS、檔案系統、AUTO_INCREMENT 多維約束
Copyright ©
程式碼之家 All Rights Reserved