萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> sql server教程 >> MySQL中文參考手冊5(安裝MySQL下)

MySQL中文參考手冊5(安裝MySQL下)

MySQL中文參考手冊5(安裝MySQL下)ww w.iTbulo.coUkonL

轉載 譯者:晏子

〖返回〗〖轉發〗

譯者:晏子 ([email protected])主頁:http://linuxdb.yeah.net

4.12 Win32 注意事項
這節描述在Win32上安裝和使用MySQL,這也在MySQL Win32分發所帶的“readme”文件中描述。 

4.12.1 在Win32上安裝MySQL
如果你沒有一個注冊的MySQL版本,你應該首先下載共享軟件版本,從: 

MySQL 3.21.29 

如果你准備從一些其他程序連接MySQL,你也可能需要MyODBC驅動程序。你可在MySQL下載頁找到。 

安裝任何一個分發,在某個空目錄解壓縮它並且運行Setup.exe程序。 

缺省地,MySQL-Win32被配置安裝在“C:mysql”。如果你想要在其它地方安裝MySQL,在“C:mysql”安裝它,然後將安裝移到你想要的地方。如果你真的移走MySQL,你必須通過提供選項給mysqld告訴mysqld那裡的所有一切,使用C:mysqlinmysqld --help顯示所有的選項目!例如,如果你移動MySQL分發到“D:programsmysql”,你必須用D:programsmysqlinmysqld --basedir D:programsmysql來啟動mysqld。

用登記的MySQL版本,你也可以創建一個“C:my.cnf”文件來保存用於MySQL服務器的任何缺省選項。拷貝文件“mysqlmy-example.cnf”到“C:my.cnf”並且編輯它來適用於你的安裝。注意你應該用"/"而不是""指定所有的路徑。如果你使用“”,你需要指定兩次(“”),因為在MySQL中“”是轉義字符,見4.15.4 選項文件。 

4.12.2 在Win95/Win98上啟動MySQL
MySQL使用 TCP/IP 把一個客戶連接到一個服務器。(這將允許在你的網絡上任何機器連接你的MySQL服務器)。因此,你必須在啟動MySQL前在你的機器上安裝TCP/IP,你可以在你的Windows CDROM上找到TCP/IP 。 

注意:如果你正在使用一個舊的Win95版本(例如OSR2),很有可能你有一個老的Winsock包!MySQL需要Winsock 2!你可從微軟得到最新的Winsock。Win98有新的Winsock 2庫作為缺省,這樣上述不適用於Win98。 

你能使用2個不同的MySQL服務器: 

mysqld  用完整調試和自動存儲器分配檢查編譯 
mysqld-opt  對Pentium 處理器優化。  

上面兩個應該在任何 > = i386的Intel處理器上工作  。 

為了啟動mysqld服務器,你應該啟動一個MSDos窗口並鍵入: 

C:mysqlinmysqld
這將在一個沒有窗口的背景啟動mysqld。 

你可以這樣殺死MySQL服務器,執行: 

C:mysqlinmysqladmin -u root shutdown
注意Win95/Win98不支持命名管道的創建。在Win95/Win98上,你只能使用命名管道連接運行在一個NT服務器上的遠程MySQL。 

4.12.3 在NT上啟動MySQL
Win95/Win98小節也適用於在NT上的MySQL,有下列差別: 

為了是MySQL用TCP/IP工作,你必須安裝服務包3(service pack 3)(或更新)! 

對於NT,服務器名字是mysqld-nt。通常你應該在 NT 上安裝MySQL作為一種服務: 

C:mysqlinmysqld-nt --install
(你可以在 NT 上使用mysqld或mysqld-opt服務器,但是那些不能作為一種服務啟動或使用命名管道。)

你可以用下列命令啟動和停止MySQL服務: 

NET START mysql
NET STOP mysql

注意在這種情況下,你不能對mysqld-nt使用任何其他選項! 

如果你需要用任何選項啟動mysqld-nt,你也可以作為在NT上的一個獨立程序運行mysqld-nt!如果你在NT上沒有選項啟動mysqld-nt,mysqld-nt嘗試啟動自己作為一種有默認選項的服務。如果你停止了mysqld-nt,你必須用NET START mysql啟動它。

服務用MySql名字被安裝,一旦安裝,它必須使用服務控制管理器(SCM)實用程序啟動服務(在控制面板中找到)或使用NET START MySQL命令。如果需要任何選項,在你啟動MySQL服務前必須作為SCM實用程序的“啟動參數”指定它們。一旦運行,可使用mysqladmin或從SCM實用程序或使用命令NET STOP MySQL停止mysqld-nt。如果你使用SCM停止mysqld-nt,SCM有一條關於mysqld shutdown normally奇怪的消息,當作為一種服務運行時,mysqld-nt沒有控制台的存取權限,所以沒有消息可以看見。 

在NT上你可以得到下列服務錯誤消息: 

Permission Denied (權限拒絕) 意味著它不能找到mysqld-nt.exe  
Cannot Register (不能登記) 意味著路徑是不正確的 

如果你作為一種服務安裝mysqld-nt有問題,嘗試用完整的路徑啟動它: 

C:mysqlinmysqld --install
如果這還不工作,你能通過在注冊表修正路徑使得mysqld-nt正確啟動! 

如果你不想作為一種服務啟動mysqld-nt,你可以如下啟動它: 

C:mysqlinmysqld-nt --standalone


C:mysqlinmysqld-nt --standalone --debug
最新的版本在“C:mysqld.trace”給你一個調試蹤跡。 

4.12.4 在 Win32 上運行 MySQL
MySQL在所有Win32平台上支持TCP/IP和NT上命名管道。如果客戶安裝了TCP/IP,缺省是對NT上的本地連接使用命名管道而對所有其他情形使用TCP/IP,主機名指定使用哪個協議: 

主機名  協議  
空 (沒有) 在NT上,首先嘗試命名管道;如果它不工作,使用TCP/IP。在Win95/Win98上,使用TCP/IP。  
.  命名管道 
localhost TCP/IP到當前主機  
主機名 TCP/IP  

通過指定命名管道--pipe選項,你可以強制一個MySQL客戶使用命名管道。使用--socket選項指定管道的名字。 

通過執行下列命令,你能測試MySQL是否正在工作: 

C:mysqlinmysqlshow
C:mysqlinmysqlshow -u root mysql
C:mysqlinmysqladmin version status proc
C:mysqlinmysql test

如果在Win95/Win98上mysqld很慢地回答連接,可能你的DNS有問題。在這種情況中下,用--skip-name-resolve啟動mysqld並且在MySQL授權表中僅使用localhost和IP數字。在你連接運行在NT上一個mysqld-nt的MySQL服務器時,使用--pipe指定命名管道使用的參數,你也能避開DNS,對大多數MySQL客戶是可行的。 

有2個版本的MySQL命令行工具: 

mysql  用原生Win32編譯,它提供很有有限的文本編輯能力。  
mysqlc  用Cygnus GNU 編譯器和庫編譯,它提供readline編輯。  

如果你想使用mysqlc.exe,你必須拷貝“C:mysqllibcygwinb19.dll”到“windowssystem”(或類似的地方)。 

在Win32上缺省的權限給所有本地用戶以所有數據庫的完全權限。為了使MySQL更安全,你應該為每個用戶設置口令並刪除mysql.user中有Host='localhost'和User='的行。 

你也應該為root用戶增加一個口令:(下列例子通過刪除匿名用戶,允許任何人存取“測試”數據庫)

C:mysqlinmysql mysql
mysql> DELETE FROM user WHERE Host='localhost' AND User=';
mysql> QUIT
C:mysqlinmysqladmin reload
C:mysqlinmysqladmin -u root password your_password

在你設置了口令以後,如果你想要關掉mysqld服務器, 你能使用這個命令做到: 

mysqladmin -- user=root -- password=your_password  shutdown
如果你正在使用在windows下的MySQL共享軟件版本,上面的命令將以 parse error near 'SET OPTION password'的錯誤而失敗,這是因為,這是共享軟件版本,它基於MySQL 3.21,沒有SET PASSWORD命令。 

對共享軟件版本,你能如下設置root用戶口令: 

C:mysqlinmysql mysql
mysql> UPDATE user SET password=PASSWORD('your password') WHERE user='root';
mysql> QUIT
C:mysqlinmysqladmin reload

有注冊的MySQL版本,你能很容易地用GRANT和REVOKE命令增加新用戶和更改權限,見7.26 GRANT和REVOKE句法。對Windows 的共享軟件版本,必須使用INSERT、UPDATE和DELETE在mysql數據庫中的一個表來管理用戶和他們的權限,見6.13 存取拒絕(Access denied)的錯誤原因。 

4.12.5 用SSH從Win32連接一個遠程MySQL
這是一個關於怎樣用SSH 得到一個安全的連接遠程MySQL服務器的注意事項(David Carlson)。 


      
  • 在你的windows機器上安裝SSH客戶 - 我使用了一個來自http://www.doc.ic.ac.uk/~ci2/ssh/的免費SSH客戶。其他有用的鏈接:http://www.npaci.edu/Security/npaci_security_software.html和http://www.npaci.edu/Security/samples/ssh32_windows/index.html. 
      
      
  • 啟動SSH。設置主機名字 = 
copyright © 萬盛學電腦網 all rights reserved