MySQL: 疑難排解
MySQL 常見問題及解決方案
👋 歡迎瀏覽 Stackhero 文件!
Stackhero 提供全託管的 MySQL cloud 服務,讓生產環境的部署與管理變得更簡單:
- 無限連線及數據傳輸。
- 內建 phpMyAdmin 網頁介面,輕鬆管理資料庫。
- 一鍵升級,更新無煩惱。
- 在專屬私有基礎設施上,確保穩定效能與高度安全。
使用 Stackhero,您只需幾分鐘即可擁有可靠的 MySQL 資料庫。減少安裝與維護的時間,專注於開發您的應用程式。立即體驗 Stackhero 的 MySQL cloud hosting。
phpMyAdmin 超時
如果您在使用 phpMyAdmin 時遇到超時問題,可能是因為處理大量數據。由於 phpMyAdmin 是基於 PHP 運行的,它可能在處理長時間請求或大型數據導出時遇到困難。為了管理更複雜的查詢,您可以考慮使用 MySQL 命令行界面或非網頁客戶端。
解決 MySQL 錯誤:"Authentication plugin 'caching_sha2_password' cannot be loaded"
MySQL 8 預設使用 caching_sha2_password 認證系統。當使用較舊的客戶端庫時,您可能會遇到錯誤:"Authentication plugin 'caching_sha2_password' cannot be loaded"。要解決此問題,您可以將預設認證方法修改為使用 MySQL native password。
在您的 Stackhero 儀表板中,導航到 MySQL 配置部分,選擇 "MySQL native password" 作為認證插件。此設置會影響 root 用戶和任何新創建的用戶。
對於現有用戶(不包括 root 用戶),您可以使用 MySQL 命令行界面或 phpMyAdmin 執行以下命令:
USE mysql;
ALTER USER '<userToUpdate>'@'%' IDENTIFIED WITH mysql_native_password BY '<userPassword>';
FLUSH PRIVILEGES;
解決 MySQL 錯誤:"SSL connection error: unknown error number"
如果您遇到錯誤 "ERROR 2026 (HY000): SSL connection error: unknown error number",通常表示您的客戶端不支持現代 TLS 版本。Stackhero 的 MySQL 實例配置為僅支持最新的 TLS 協議和加密,以增強安全性。
如果您的客戶端嘗試使用 TLS v1.1,這個錯誤可能會發生,因為它已過時且不被現代 MySQL 和 MariaDB 版本支持。為了解決此問題,您可能需要升級您的 MySQL 客戶端到支持最新 TLS 協議的版本。
處理 root 用戶刪除或權限更改
如果您不小心修改了權限、更改了密碼或刪除了 "root" 用戶,您可以重新啟動您的 MySQL 實例。這樣做會自動重新創建 root 用戶並設置正確的密碼和權限。
刪除數據後回收磁碟空間
當從 MySQL 表中刪除數據時,其佔用的磁碟空間不會立即回收。要回收這些空間,您可以執行以下命令:
OPTIMIZE TABLE <table>;
此過程會創建一個臨時表,將數據轉移到其中,然後替換原始表。在優化過程中,表將被鎖定並暫時不可用。鎖定的持續時間和總所需時間取決於表的大小。由於此操作資源密集,建議在伺服器活動較低的時段安排,以盡量減少對性能和可用性的影響。