文件首頁
MySQL 8.4 參考手冊
相關文件 下載本手冊
PDF (US Ltr) - 39.9Mb
PDF (A4) - 40.0Mb
Man Pages (TGZ) - 258.5Kb
Man Pages (Zip) - 365.5Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 參考手冊  /  ...  /  在 Unix 上使用符號連結處理 MyISAM 資料表

10.12.2.2 在 Unix 上使用符號連結處理 MyISAM 資料表

注意

此處描述的符號連結支援,以及控制它的 --symbolic-links 選項已遭到淘汰;預計在未來版本的 MySQL 中將會移除。此外,該選項預設為停用。

符號連結僅完全支援 MyISAM 資料表。對於其他儲存引擎的資料表所使用的檔案,如果您嘗試使用符號連結,可能會遇到奇怪的問題。對於 InnoDB 資料表,請改用 第 17.6.1.2 節「在外部建立資料表」中說明的替代技術。

請勿在未完全正常運作 realpath() 呼叫的系統上符號連結資料表。(Linux 和 Solaris 支援 realpath())。若要判斷您的系統是否支援符號連結,請使用此陳述式檢查 have_symlink 系統變數的值

SHOW VARIABLES LIKE 'have_symlink';

處理 MyISAM 資料表的符號連結方式如下

  • 在資料目錄中,您一律會有資料 (.MYD) 檔案和索引 (.MYI) 檔案。資料檔案和索引檔案可以移至其他位置,並在資料目錄中由符號連結取代。

  • 您可以將資料檔案和索引檔案獨立符號連結至不同的目錄。

  • 若要指示執行中的 MySQL 伺服器執行符號連結,請使用 CREATE TABLEDATA DIRECTORYINDEX DIRECTORY 選項。請參閱第 15.1.20 節「CREATE TABLE 陳述式」。或者,如果 mysqld 未執行,則可以使用命令列的 ln -s 手動完成符號連結。

    注意

    DATA DIRECTORYINDEX DIRECTORY 選項其中之一或兩者一起使用的路徑,不得包含 MySQL data 目錄。(錯誤 #32167)

  • myisamchk 不會以資料檔案或索引檔案取代符號連結。它會直接處理符號連結指向的檔案。任何暫存檔案都會在資料檔案或索引檔案所在的目錄中建立。ALTER TABLEOPTIMIZE TABLEREPAIR TABLE 陳述式也是如此。

  • 注意

    當您刪除使用符號連結的資料表時,符號連結及其指向的檔案都會被刪除。這是一個非常好的理由,不要root 作業系統使用者身分執行 mysqld,或允許作業系統使用者具有寫入 MySQL 資料庫目錄的權限。

  • 如果您使用 ALTER TABLE ... RENAMERENAME TABLE 重新命名資料表,並且沒有將資料表移動到另一個資料庫,則資料庫目錄中的符號連結會重新命名為新名稱,並且資料檔案和索引檔案也會相應地重新命名。

  • 如果您使用 ALTER TABLE ... RENAMERENAME TABLE 將資料表移動到另一個資料庫,則資料表會移動到另一個資料庫目錄。如果資料表名稱已變更,則新資料庫目錄中的符號連結會重新命名為新名稱,並且資料檔案和索引檔案也會相應地重新命名。

  • 如果您未使用符號連結,請使用 --skip-symbolic-links 選項啟動 mysqld,以確保沒有人可以使用 mysqld 刪除或重新命名資料目錄以外的檔案。

不支援以下資料表符號連結操作:

  • ALTER TABLE 會忽略 DATA DIRECTORYINDEX DIRECTORY 資料表選項。