MySQL: 疑難排解

MySQL 常見問題及解決方案

👋 歡迎來到 Stackhero 文件!

Stackhero 提供即用型 MySQL cloud 解決方案,帶來多項好處,包括:

  • 無限連接和傳輸。
  • 包含 phpMyAdmin 網頁介面。
  • 只需點擊即可輕鬆進行 更新
  • 專用私有 VM 提供的最佳 效能和強大 安全性

節省時間簡化您的生活:只需 5 分鐘即可嘗試 Stackhero 的 MySQL cloud hosting 解決方案!

如果您在使用 phpMyAdmin 時遇到超時問題,可能是因為處理大量數據。由於 phpMyAdmin 是基於 PHP 運行的,它可能在處理長時間請求或大型數據導出時遇到困難。為了管理更複雜的查詢,您可以考慮使用 MySQL 命令行界面或非網頁客戶端。

MySQL 8 預設使用 caching_sha2_password 認證系統。當使用較舊的客戶端庫時,您可能會遇到錯誤:"Authentication plugin 'caching_sha2_password' cannot be loaded"。要解決此問題,您可以修改預設認證方法以使用 MySQL 原生密碼。

在您的 Stackhero 儀表板中,導航到 MySQL 配置部分並選擇 "MySQL native password" 作為認證插件。此設置會影響 root 用戶和任何新創建的用戶。

對於現有用戶(不包括 root 用戶),您可以使用 MySQL 命令行界面或 phpMyAdmin 執行以下命令:

USE mysql;
ALTER USER '<userToUpdate>'@'%' IDENTIFIED WITH mysql_native_password BY '<userPassword>';
FLUSH PRIVILEGES;

如果您遇到錯誤 "ERROR 2026 (HY000): SSL connection error: unknown error number",通常表示您的客戶端不支持現代 TLS 版本。Stackhero 的 MySQL 實例配置為僅支持最新的 TLS 協議和加密,以增強安全性。

如果您的客戶端嘗試使用 TLS v1.1,這個錯誤可能會發生,因為它已過時且不被現代 MySQL 和 MariaDB 版本支持。要解決此問題,您可能需要升級您的 MySQL 客戶端到支持最新 TLS 協議的版本。

如果您不小心修改了權限、更改了密碼或刪除了 "root" 用戶,您可以重新啟動您的 MySQL 實例。這樣做會自動重新創建 root 用戶並設置正確的密碼和權限。

當從 MySQL 表中刪除數據時,其佔用的磁碟空間不會立即回收。要回收這些空間,您可以執行以下命令:

OPTIMIZE TABLE <table>;

此過程會創建一個臨時表,將數據轉移到其中,然後替換原始表。在優化過程中,表將被鎖定並暫時不可用。鎖定的持續時間和總所需時間取決於表的大小。由於此操作資源密集,建議在伺服器活動較低的時段安排,以減少對性能和可用性的影響。