程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> Win32版與Unix版MySQL比較

Win32版與Unix版MySQL比較

編輯:關於MYSQL數據庫
MySQL- Win32現在已經證明了自己很穩定。這個版本得MySQL有與對應的Unix版本同樣的特征,除了下面:

Win95和線程

Win95 為每個線程的創建損失大約200個字節的內存。因此,如果你進行許多連接,你不應該在Win95運行mysqld很長時間,因為MySQL的每個連接都創建一個新線程!WinNT和Win98不能容忍這個bug。阻塞式讀(blocking read) MySQL為每個連接使用一個阻塞式讀取,這意味著:一個連接將不在8個小時後自動被斷開,就像MySQL的Unix版本所發生的。如果一個連接“掛起”,不殺死MySQL就不可能打破它。 mysqladmin kill在一個睡眠的連接上將不工作。只要有睡眠的連接,MySQLadmin shutdown不能中途中斷。我們計劃在不久的將來修正它。

UDF函數

暫時MySQL-Win32不支持用戶可定義函數。 DROP DATABASE 你不能拋棄一個正在被某些線程使用的數據庫。從任務管理器殺死MySQL 在Windows95上,你不能從任務管理器或用shutdown實用程序殺死MySQL。你必須用mysqladmin shutdown關閉它。大小寫區分的名字文件名在Win32上是忽略大小寫的,因此Win32上的MySQL數據庫和表的名字也是忽略大小寫的。唯一的限制是數據庫和表的名字必須在整個一個給定的語句中大小寫是一樣的,因為它用my_table和MY_TABLE都指向同一個表子,下列查詢將不工作: SELECT * FROM my_table WHERE MY_TABLE.col=1;

“ \ ”目錄字符

在Win95上的路徑名組成由“\”字符分隔,它在MySQL中也是轉義字符。如果你正在使用LOAD DATA INFILE或SELECT ... INTO OUTFILE,你必須用兩個“\”字符或使用Unix風格的文件名“/”字符: LOAD DATA INFILE "C:\\tmp\\skr.txt" INTO TABLE skr; SELECT * FROM skr INTO OUTFILE 'C:/tmp/skr.txt';

Can't open named pipe錯誤

如果你使用NT上的MySQL-Win32共享軟件版本,用最新的mysql客戶,你將得到下列錯誤: error 2017: can't open named pipe to host: . pipe... 這是因為NT上MySQL正式版本缺省地使用命名管道。你能通過為新MySQL客戶使用--host=localhost選項或創建一個包含下列信息的文件“C:\my.cnf”來避免這個錯誤: [clIEnt] host = localhost

Access denIEd for user錯誤

在訪問在同一機器上的一個MySQL服務器時,如果你得到Access denIEd for user: 'some-user@unknown' to database 'mysql'的錯誤,這意味著MySQL不能正確解釋你的主機名。為了修正它,你應該創建一個文件“\Windows\hosts”,有下列信息: 127.0.0.1 localhost 對於可能想要幫助我們做好Win32版本的任何人,這裡有的一些開放的問題:制作一個單用戶MYSQL.DLL服務器。這應該包括一個標准MySQL服務器的一切,除了線程創建外。這將使MySQL在不需要一個真正的客戶機/服務器和不需要從其他主機存取服務器的應用程序時更容易使用。為MySQL安裝增加一些漂亮的“start”和“shutdown”圖標。為MySQL啟動選項創建造一個工具管理注冊表條目。注冊表條目的度缺已經被編碼進mysqld.cc,但是它應該重新編碼而更加面向“參數”,該工具應該也能更新“ \my.cnf”文件,如果用戶比較喜歡使用它而不是注冊表。當用--install登記mysqld作為一種服務(在 NT 上 )時,如果你也可以在命令行上增加缺省選項,它將更好,目前解決辦法是更新“C:\my.cnf”文件。當你掛起一個運行Win95的膝上計算機時,當膝上計算機被恢復時,mysqld守護程序不接受新連接。我們不知道這是否 Win95、TCP/IP或MySQL的問題。能從任務管理器殺死mysqld將絕對是好事,目前,你必須使用mysqladmin shutdown。移植用在 mysql命令行工具的readline到Win32。標准的GUI版本MySQL客戶(mysql、mysqlshow、mysqladmin和mysqldump) 將更好。如果在“net.c”中的套接字“讀”和“寫”函數是可中斷的,那將更好。這將有可能在Win32上用mysqladmin kill殺死打開的線程。制作有關哪些Windows程序能工作在MySQL-Win32/MyODBC和必須做什麼在能讓他們工作的文檔。

mysqld總是在“C”處啟動而不在缺省地點,我們想讓mysqld使用當前地點用於排序順序。移植sqlclIEnt到Win32(幾乎完成)並加入更多的特征!把更多的選項加到Mysql Manager。在服務器和客戶之間改變通訊協議,使用Windows內部通訊而不是套接字和TCP/IP。用.DLL實現UDF函數。增加宏以使用由Win32提供的更快的對線程安全的增加/減少方法。其他Win32特定問題在MySQL-Win32分發的“README”文件中描述。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved