MySQL 在 Windows 與 Unix/Linux 上行為有顯著差異,開發與部署時必須注意。本文整理官方文件列出的關鍵差異點,含記憶體洩漏、UDF、大小寫敏感度、路徑分隔符、命名管道、存取權限等。
wait_timeout=28800)mysqladmin kill 斷開,需 mysqladmin shutdown 重啟服務Win32 版暫不支援 CREATE FUNCTION ... RETURNS ... SONAME。
無法刪除正被執行緒使用的資料庫(Unix 可強制刪除)。
mysqladmin shutdownSELECT * FROM my_table WHERE MY_TABLE.col=1 會失敗\,也是 MySQL 字串跳脫字元LOAD DATA INFILE / SELECT ... INTO OUTFILE 兩種寫法:
LOAD DATA INFILE 'C:\\tmp\\data.txt' INTO TABLE t;
SELECT * FROM t INTO OUTFILE 'C:/tmp/data.txt'; -- 建議用正斜線
Can't open named pipe--host=localhost 強制 TCP/IP,或建立 C:\my.cnf:
[client]
host = localhost
Access denied for user 'user@unknown'C:\Windows\hosts(或 \Windows\system32\drivers\etc\hosts):
127.0.0.1 localhost
mysqld.dll 嵌入式伺服器mysqladmin kill跨平台部署 MySQL 時,大小寫命名規範、連線參數、啟動腳本 是三大坑點。開發階段即在目標作業系統測試,建立標準化部署清單,可避免 90% 的移植問題。