文件首頁
MySQL 9.0 參考手冊
相關文件 下載本手冊
PDF (美式信紙) - 40.0Mb
PDF (A4) - 40.1Mb
Man Pages (TGZ) - 258.2Kb
Man Pages (Zip) - 365.3Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


2.3.6 Windows 平台限制

以下限制適用於在 Windows 平台上使用 MySQL

  • 程序記憶體

    在 Windows 32 位元平台上,預設情況下,單一程序(包括 MySQL)無法使用超過 2GB 的 RAM。這是因為 Windows 32 位元的實體位址限制為 4GB,而 Windows 內的預設設定是將虛擬位址空間在核心 (2GB) 和使用者/應用程式 (2GB) 之間分割。

    某些 Windows 版本具有開機時間設定,可透過減少核心應用程式來啟用較大的應用程式。或者,若要使用超過 2GB,請使用 64 位元版本的 Windows。

  • 檔案系統別名

    當使用 MyISAM 資料表時,您無法在 Windows 連結中對另一個磁碟區上的資料檔案使用別名,然後再連結回主要的 MySQL datadir 位置。

    此功能通常用於將資料和索引檔案移至 RAID 或其他快速解決方案。

  • 有限的連接埠數量

    Windows 系統大約有 4,000 個連接埠可供用戶端連線使用,而且連接埠上的連線關閉後,需要兩到四分鐘才能重複使用該連接埠。在用戶端以高速率連線和中斷與伺服器的連線的情況下,有可能所有可用的連接埠都會在關閉的連接埠再次可用之前被用完。如果發生這種情況,MySQL 伺服器會顯示沒有回應,即使它正在執行。連接埠也可能會被機器上執行的其他應用程式使用,在這種情況下,MySQL 可用的連接埠數量會較少。

    如需此問題的詳細資訊,請參閱 https://support.microsoft.com/kb/196271

  • DATA DIRECTORYINDEX DIRECTORY

    第 17.6.1.2 節,「外部建立資料表」所述,Windows 上僅針對 InnoDB 資料表支援 CREATE TABLE 陳述式的 DATA DIRECTORY 子句。對於 MyISAM 和其他儲存引擎,在 Windows 和任何其他具有非功能性 realpath() 呼叫的平台上,將忽略 CREATE TABLEDATA DIRECTORYINDEX DIRECTORY 子句。

  • DROP DATABASE

    您無法捨棄另一個工作階段正在使用的資料庫。

  • 不區分大小寫的名稱

    檔案名稱在 Windows 上不區分大小寫,因此 MySQL 資料庫和資料表名稱在 Windows 上也不區分大小寫。唯一的限制是,必須在給定的陳述式中以相同的大小寫指定資料庫和資料表名稱。請參閱 第 11.2.3 節,「識別碼區分大小寫」

  • 目錄和檔案名稱

    在 Windows 上,MySQL 伺服器僅支援與目前 ANSI 字碼頁相容的目錄和檔案名稱。例如,下列日文目錄名稱在西方地區設定 (字碼頁 1252) 中無法運作

    datadir="C:/私たちのプロジェクトのデータ"

    相同的限制適用於 SQL 陳述式中參照的目錄和檔案名稱,例如 LOAD DATA 中的資料檔案路徑名稱。

  • \ 路徑名稱分隔字元

    Windows 中的路徑名稱元件由 \ 字元分隔,這也是 MySQL 中的跳脫字元。如果您使用的是 LOAD DATASELECT ... INTO OUTFILE,請使用帶有 / 字元的 Unix 樣式檔案名稱

    mysql> LOAD DATA INFILE 'C:/tmp/skr.txt' INTO TABLE skr;
    mysql> SELECT * INTO OUTFILE 'C:/tmp/skr.txt' FROM skr;

    或者,您必須將 \ 字元加倍

    mysql> LOAD DATA INFILE 'C:\\tmp\\skr.txt' INTO TABLE skr;
    mysql> SELECT * INTO OUTFILE 'C:\\tmp\\skr.txt' FROM skr;
  • 管線問題

    管線無法從 Windows 命令列提示字元可靠地運作。如果管線包含字元 ^Z / CHAR(24),Windows 會認為它遇到了檔案結尾,並中止程式。

    當您嘗試套用二進位記錄時,這主要是問題

    C:\> mysqlbinlog binary_log_file | mysql --user=root

    如果您在套用記錄時遇到問題,並懷疑是 ^Z / CHAR(24) 字元所造成,則可以使用下列因應措施

    C:\> mysqlbinlog binary_log_file --result-file=/tmp/bin.sql
    C:\> mysql --user=root --execute "source /tmp/bin.sql"

    後者命令也可用於可靠地讀取任何可能包含二進位資料的 SQL 檔案。