?
可以運(yùn)行在本地windows版本的MySQL數(shù)據(jù)庫(kù)程序自從3.21版以后已經(jīng)可以從MySQL AB公司獲得,而且 MYSQL每日的下載百分比非常大.這部分描述在windows上安裝MySQL的過(guò)程. 安裝程序是針對(duì)windows版本的MySQL 5.0,結(jié)合了圖形安裝向?qū)?自動(dòng)的安裝MySQL,創(chuàng)建 一個(gè)配置文件,啟動(dòng)服務(wù)器,和保護(hù)默認(rèn)的用戶帳戶. 如果你是升級(jí)安裝現(xiàn)有的MySQL 4.1.5版本.你必須完成下列步驟:
1. 獲得和安裝
2. 如果有必要安裝配置文件
3. 選擇一個(gè)想要使用的服務(wù)器.
4. 啟動(dòng)服務(wù)器
5. 為MYSQL帳戶設(shè)置密碼.
這個(gè)過(guò)程在沒(méi)有安裝配置的myslq安裝程序里完成.
MySQL 5.0 for Windows 可用的種格式: · 包含二進(jìn)制的安裝程序可以安裝所有你需要的依次你可以立即啟動(dòng)服務(wù)器.
· 原始類(lèi)包括所有代碼和支持文件建造執(zhí)行使用Visual Studio 2003編譯系統(tǒng).
一般來(lái)講,你應(yīng)該使用二進(jìn)制形式.較其他比較簡(jiǎn)單,和你不需要額外的工具讓mysql使用 和運(yùn)行. 本文主要描述怎樣在windows上安裝使用二進(jìn)制格式的MYSQL.
一、要在WINDOWS上運(yùn)行MYSQL,你要具備下列條件:
· 一個(gè)32位WINDOWS操作系統(tǒng),9x,ME,NT,2000,XP,或者 windows server2003.基于 WINDOWS NT操作系統(tǒng)(NT,2000,XP,2003)允許你運(yùn)行MYSQL 服務(wù)器為一個(gè)服務(wù).使用基于 WINDOWS NT操作系統(tǒng)是我們強(qiáng)烈推薦的.
· TCP/IP協(xié)議支持. · 二進(jìn)制版本的MYSQL for windows,可以從 http://dev.mysql.com/downloads/下 載。注意: 如果你通過(guò)FTP下載.我們推薦使用適當(dāng)?shù)腇TP軟件很重要.避免在現(xiàn)在過(guò)程中文件 損壞..
· 一個(gè)可以打開(kāi).zip 文件的工具,用來(lái)打開(kāi)安裝文件
· 硬盤(pán)的空間推薦最小200M. 如果準(zhǔn)備通過(guò)ODBC連接MYSQL,你也需要ODBC連接驅(qū)動(dòng)
· 你過(guò)你需要的表大于4GB,安裝MYSQL在NTFS或者新的文件系統(tǒng)上.當(dāng)你創(chuàng)建表的時(shí)不 要忘記使用 MAX-ROWS和AVG_ROW_LENGTH.
二、選擇一個(gè)安裝組件
對(duì)于MYSQL 5.0,有三個(gè)組件用來(lái)選擇安裝MYSQL在WINDOWS上.下列是組件:
· 基本組件:這個(gè)組件有一個(gè)類(lèi)似于mysql-essential-5.0.13-rc-win32.msi和包含最 小需求文件組件不包含可選組件與內(nèi)含的服務(wù)器和基準(zhǔn)組件
· 全部組件:這個(gè)組件有一個(gè)文件名類(lèi)似 mysql-5.0.13-rc-win32.zip和包含所有可需 文件來(lái)完成WINDOWS安裝.包括配置向?qū)?這個(gè)組件包括可選組件與內(nèi)含的服務(wù)器和基準(zhǔn) 組件
· 無(wú)安裝存檔:. 這個(gè)組件有一個(gè)類(lèi)似于mysql-noinstall-5.0.13-rc-win32.zip的文 件名和包含建立完成安裝組件的文件.配置向?qū)С?這個(gè)組件不包含自動(dòng)安裝,必須手 動(dòng)安裝和配置.大多數(shù)擁護(hù)推薦使用基本組件.
三、使用配置向?qū)?br />
MySQL配置向?qū)Э梢詭椭鷮?shí)現(xiàn)WINDOWS系統(tǒng)下的服務(wù)器自動(dòng)配置。MySQL配置向?qū)紫葧?huì)根據(jù)一一系列的問(wèn)題創(chuàng) 建一個(gè)定制好的my.ini文件,然后根據(jù)填寫(xiě)內(nèi)容并將其應(yīng)用到模板中從而產(chǎn)生一個(gè)跟安裝相適應(yīng)的my.ini文件 。配置向?qū)О贛ySQL 5.0服務(wù)器中,現(xiàn)在只適合WINDOWS用戶。配置向?qū)Ш艽蟪潭壬蟻?lái)源于用戶近幾年在My SQL AB上的反饋信息。如果你覺(jué)得向?qū)?nèi)容缺少你所需要的重要內(nèi) 容,或者,你發(fā)現(xiàn)有錯(cuò)誤,請(qǐng)通過(guò)MySQL 錯(cuò)誤報(bào)告系統(tǒng)要求添加新特性或報(bào)告錯(cuò)誤信息。
安裝完畢后可以直接進(jìn)入配置向?qū)Щ蛲ㄟ^(guò)點(diǎn)擊WINDOWS開(kāi)始程序中的MySQL服務(wù)器實(shí)例向?qū)нM(jìn)入MySQL配置向?qū)А?另外,也可以找到MySQL安裝目錄下的bin目錄下的MySQLInstanceConfig.exe文件并直接運(yùn)行它。
如果你的MySQL配置向?qū)Оl(fā)現(xiàn)了一個(gè)已經(jīng)存在的my.ini文件,你可以重新配置已經(jīng)存在的服務(wù)器,或者通過(guò)刪除 my.ini文件、停止并移除MySQL服務(wù)的方法移除服務(wù)器實(shí)例。重新配置已經(jīng)存在的服務(wù)器,選擇“重新配置實(shí)例”選項(xiàng)并且選擇“下一步”按鈕。已經(jīng)存在的my.ini文件被 重新命名為mytimestamp.ini.bak,時(shí)間戳是已經(jīng)存在的my.ini創(chuàng)建時(shí)的日期和時(shí)間。移除已經(jīng)存在的數(shù)據(jù)庫(kù)實(shí) 例,選擇“移除實(shí)例”選項(xiàng)并選擇“下一步”按鈕。如果選擇了“移除實(shí)例”選項(xiàng),進(jìn)入到確認(rèn)界面。單擊“運(yùn)行”按鈕:MySQL配置向?qū)V共㈤_(kāi)始移除MySQL服 務(wù),并刪除my.ini文件。但服務(wù)器安裝目錄并沒(méi)有移除。如果選擇了“重新配置實(shí)例”選項(xiàng),進(jìn)入到“配置類(lèi)型”界面,可以選擇安裝想要配置的安裝類(lèi)型。
選擇了MySQL配置向?qū)У?“安裝MySQL”,或“重新配置實(shí)例”,都將進(jìn)入到“配置類(lèi)型”界面有兩個(gè)配置類(lèi)型可供選擇:詳細(xì)配置和標(biāo)準(zhǔn)配置。標(biāo)準(zhǔn)配置選項(xiàng)是為那些不需要考慮復(fù)雜服務(wù)器配置的新手而 設(shè)計(jì)的。詳細(xì)配置選項(xiàng)是給那些能更高好的操作服務(wù)器的高級(jí)用戶使用的。如果您剛開(kāi)始使用MySQL,并且把它做為一個(gè)單一用戶的開(kāi)發(fā)機(jī)器使用的話,標(biāo)準(zhǔn)配置能滿足您的需求。選擇標(biāo) 準(zhǔn)配置后,除了服務(wù)選項(xiàng)和安全選項(xiàng)外配置向?qū)?duì)其他部分都做了自動(dòng)配置。如果你的機(jī)器中有已經(jīng)安裝了MySQL,標(biāo)準(zhǔn)配置可能不太適合你的系統(tǒng)。如果愿意進(jìn)一步配置的話,“詳細(xì)配置 ”選項(xiàng)是推薦的。
然后進(jìn)入服務(wù)器類(lèi)型頁(yè)面,有三種不同的服務(wù)器類(lèi)型可供選擇,選擇服務(wù)器類(lèi)型后配置向?qū)?huì)根據(jù)選擇的不同確定內(nèi)存、磁盤(pán)、處理器 的使用。
? 開(kāi)發(fā)版:這個(gè)選項(xiàng)是典型的桌面工作站,是MySQL為個(gè)人使用而設(shè)計(jì)的。有很多其他的桌面應(yīng)用程序也 可以在此上運(yùn)行。MySQL服務(wù)器使用了最小的系統(tǒng)資源。
? 服務(wù)器版:選擇此選項(xiàng)MySQL可以和其他一些服務(wù)器應(yīng)用程序如FTP,email,Web服務(wù)同時(shí)運(yùn)行。MySQL 服務(wù)器配置使用了中等程度的系統(tǒng)資源。
? MySQL服務(wù)器專(zhuān)業(yè)版:這個(gè)選項(xiàng)是只能運(yùn)行MySQL服務(wù)器,其他應(yīng)用程序不可以運(yùn)行。MySQL服務(wù)器配置 將使用所有可用資源。
“數(shù)據(jù)庫(kù)使用”界面允許在創(chuàng)建MySQL表時(shí)可以指示想使用的表操作。選擇項(xiàng)將決定InnoDB存儲(chǔ)引擎是否可用, InnoDB所能使用系統(tǒng)資源的百分比。多功能的數(shù)據(jù)庫(kù):此選項(xiàng)InnoDB 和 MyISAM存儲(chǔ)引擎可用,并且在兩者之間平均分配資源。推薦在通常情況下 會(huì)使用這兩個(gè)存儲(chǔ)引擎的的用戶使用。事務(wù)型數(shù)據(jù)庫(kù):此選項(xiàng)InnoDB 和 MyISAM存儲(chǔ)引擎均可用,但更傾向于系統(tǒng)大部門(mén)資源為InnoDB存儲(chǔ)引擎所使 用。推薦經(jīng)常使用InnoDB而很少使用MyISAM的用戶使用。
? 非事務(wù)型數(shù)據(jù)庫(kù):此選項(xiàng)完全禁止InnoDB存儲(chǔ)引擎,完全專(zhuān)注于MyISAM存儲(chǔ)引擎。推薦不使用InnoDB 的用戶使用。
InnoDB表空間界面
有些用戶更愿意將InnoDB表空間文件放在不同的位置而不是MySQL服務(wù)器數(shù)據(jù)目錄。如果系統(tǒng)有更高的存儲(chǔ)能力 或更高性能的存儲(chǔ)設(shè)備可用,比如RAID存儲(chǔ)系統(tǒng),可以把表空間文件放置在不同的位置。可以修改InnoDB表空間文件的默認(rèn)位置,從下拉列表框的盤(pán)符列表中選擇一個(gè)并選擇一個(gè)新的路徑。創(chuàng)建定制 的路徑,單擊“...”。 如果修改已經(jīng)存在的服務(wù)器配置,在修改路徑之前必須單擊“修改”按鈕。在啟動(dòng)服務(wù)器之前必須先手工把已 經(jīng)存在的表空間文件移到新的位置。
并發(fā)連接界面
控制連接到MySQL服務(wù)器的并發(fā)連接數(shù)目能有效的防止耗進(jìn)系統(tǒng)資源。并發(fā)連接界面允許選擇服務(wù)器按所需選擇 服務(wù)器的使用情況, 并同時(shí)設(shè)置并發(fā)連接限制。也可以手工設(shè)定并發(fā)連接數(shù)。
? 決策支持(DSS)/聯(lián)機(jī)分析處理(OLAP):服務(wù)器不要求大數(shù)目的并發(fā)連接時(shí)選擇此項(xiàng)。最大連接數(shù) 目的連接可達(dá)100,但平均會(huì)有20個(gè)并發(fā)連接。
? 在線事務(wù)處理(OLTP):服務(wù)器要求大數(shù)量的并發(fā)連接時(shí)選擇此項(xiàng)。最大連接數(shù)可達(dá)500。
? 手工設(shè)置:選擇此項(xiàng)可以手工設(shè)置并發(fā)訪問(wèn)服務(wù)器的最大樹(shù)木。從下拉列表框中選擇最大可連接數(shù), 如果下拉列表框中列出的數(shù)目沒(méi)有可選擇的。可手工輸入最大連接數(shù)目。
網(wǎng)絡(luò)配置選項(xiàng)對(duì)話框
可以使用網(wǎng)絡(luò)配置對(duì)話框來(lái)激活或者禁止TCP/IP網(wǎng)絡(luò)服務(wù)同時(shí)配置和MySQL服務(wù)器連接的端口號(hào)。TCP/IP網(wǎng)絡(luò)服 務(wù)是默認(rèn)激活的。Windows可以通過(guò)不選擇TCP/IP網(wǎng)絡(luò)選項(xiàng)的選項(xiàng)框禁止TCP/IP網(wǎng)絡(luò)服務(wù)。通常默認(rèn)使用的端口 是3306。如果需要改變?cè)L問(wèn)MySQL的端口,可以從下拉選項(xiàng)框中選取新的端口號(hào)或者在選項(xiàng)框中直接輸入新的端 口號(hào)。如果你選定的端口號(hào)已經(jīng)被使用,系統(tǒng)將會(huì)提示你去確認(rèn)對(duì)端口號(hào)的選擇。
字體設(shè)置對(duì)話框
MySQL服務(wù)器支持多字體設(shè)置,同時(shí)可以為服務(wù)器設(shè)置默認(rèn)服務(wù)字體,該字體可以應(yīng)用于所有的數(shù)據(jù)表、列和未 被超級(jí)控制的數(shù)據(jù)庫(kù)。可以使用字體設(shè)置對(duì)話框來(lái)改變MySQL服務(wù)器的默認(rèn)字體設(shè)置。
1 標(biāo)準(zhǔn)的字體設(shè)置:該選項(xiàng)用于將Latin1作為默認(rèn)的服務(wù)字體. Latin1可以用于英文和眾多西文字體。
2 對(duì)于多語(yǔ)言字體的最佳支持:該選項(xiàng)用于UTF8作為默認(rèn)的服務(wù)字體。在單一的字體設(shè)置中,UTF8可以存儲(chǔ)來(lái)自 很多不同語(yǔ)言的字體。
3 手動(dòng)選擇默認(rèn)字符設(shè)置/排序:該選項(xiàng)用于手動(dòng)設(shè)置默認(rèn)字體。你可以從下拉選擇框所提供的字體中選擇所需 要的字符。
服務(wù)選擇對(duì)話框
在基于Windows NT的平臺(tái)上,MySQL服務(wù)器可以被作為Windows的一項(xiàng)服務(wù)被安裝。當(dāng)作為一項(xiàng)服務(wù)安裝時(shí), MySQL服務(wù)器可以隨著系統(tǒng)的啟動(dòng)而自啟動(dòng),并且在服務(wù)失敗時(shí),MySQL服務(wù)器可以自動(dòng)重起。在MySQL的默認(rèn)配置中,將MySQL服務(wù)器作為服務(wù)安裝,同時(shí)該服務(wù)的名稱(chēng)為MySQL。如果你不希望安裝該項(xiàng)服務(wù) ,不選擇作為Windows服務(wù)的選擇框即可。你可以從所提供的下拉選擇框中選取一個(gè)新的服務(wù)名稱(chēng)或者直接在下 拉選擇框中輸入新的服務(wù)名稱(chēng)。如果需要將MySQL服務(wù)器作為一項(xiàng)服務(wù)來(lái)安裝,同時(shí)使MySQL不隨著系統(tǒng)啟動(dòng)而自啟動(dòng),則不選擇自啟動(dòng)Mysql服 務(wù)選擇框。
安全選擇對(duì)話框
強(qiáng)烈推薦你為你的MySQL服務(wù)器設(shè)置一個(gè)相應(yīng)的根用戶密碼,同時(shí)MySQL配置向?qū)枰阍O(shè)置一個(gè)默認(rèn)的根用戶 密碼。如果你不希望設(shè)置根用戶密碼,則不要選擇修改安全設(shè)置選項(xiàng)。為了設(shè)置根用戶密碼,需要將設(shè)定的根 用戶密碼同時(shí)輸入新根密碼和確認(rèn)選擇框里。如果你需要重新配置一個(gè)已存在的服務(wù)器,你需要將其的根用戶 密碼輸入到當(dāng)前的根密碼選擇框里。為了防止通過(guò)網(wǎng)絡(luò)的根用戶登錄,可以在Root的選擇框中設(shè)置為只允許從本地連接。這將增強(qiáng)你的根用戶的安 全性。為了生成一個(gè)匿名用戶帳戶,選擇生成匿名帳戶的選擇框。生成一個(gè)匿名用戶帳號(hào)可能會(huì)降低服務(wù)器的安全性 ,同時(shí)造成登陸和認(rèn)證的困難。出于這種原因,該選項(xiàng)一般不被推薦。
確認(rèn)對(duì)話框
MySQL配置向?qū)е械淖詈蟮膶?duì)話框是確認(rèn)對(duì)話框。可以點(diǎn)擊“執(zhí)行”按鈕來(lái)啟動(dòng)配置操作。為了返回到前一個(gè)對(duì) 話框,可以點(diǎn)擊“返回”按鈕。可以點(diǎn)擊“取消”按鈕退出MySQL配置向?qū)Ф鵁o(wú)需配置服務(wù)器。當(dāng)你點(diǎn)擊“執(zhí)行”按鈕后而無(wú)需配置服務(wù)器,MySQL配置向?qū)?zhí)行一系列任務(wù),該任務(wù)在被執(zhí)行時(shí),執(zhí)行進(jìn)度將 會(huì)被顯示在屏幕上。 MySQL配置向?qū)紫仁褂糜蒑ySQL AB開(kāi)發(fā)者和工程師所準(zhǔn)備的模版配置文件來(lái)決定基于你的選擇的配置文件選項(xiàng) 。該模版被命名為my-template.ini,同時(shí)位于你的服務(wù)期安裝目錄下。MySQL配置向?qū)⑦@些選擇項(xiàng)寫(xiě)入至 my.ini文件中。my.ini文件的最終位置將會(huì)被顯示在寫(xiě)配置文件任務(wù)中。如果你選擇為MySQL服務(wù)器生成一項(xiàng)服務(wù),MySQL配置向?qū)?huì)生成并啟動(dòng)該服務(wù)。如果你正在重新配置一個(gè)已 存在的服務(wù),MySQL服務(wù)向?qū)?huì)重起服務(wù)以重新應(yīng)用改變的配置。如果你選擇設(shè)置一個(gè)根密碼,MySQL配置向?qū)?huì)和服務(wù)器連接,設(shè)置你的新的根用戶密碼同時(shí)應(yīng)用你已經(jīng)選擇 的其他安全設(shè)置。在MySQL配置向?qū)瓿善涞娜蝿?wù)后,一個(gè)摘要將會(huì)被顯示出來(lái)。點(diǎn)擊“結(jié)束”按鈕退出MySQL配置向?qū)А?br />
配置文件my.ini的位置
MySQL配置向?qū)y.ini文件放置在MySQL服務(wù)器的安裝目錄中。這將有助于將配置文件和具體的服務(wù)器實(shí)例相 關(guān)聯(lián)。為了保證MySQL服務(wù)器知道到哪里查找my.ini文件,和下面內(nèi)容類(lèi)似的參數(shù)將會(huì)被作為服務(wù)安裝的一部分 傳遞給MySQL服務(wù)器:--defaults-file="C:\Program Files\MySQL\MySQL Server 5.0\my.ini C:\Program Files\MySQL\MySQL Server 5.0可以被指向MySQL服務(wù)器的安裝路徑所代替。
編輯my.ini文件
可以使用文本編輯器打開(kāi)該文件同時(shí)做出必要的編輯和修改。你也可以以MySQL Administrator的應(yīng)用程序來(lái)修 改服務(wù)器配置。 MySQL客戶端和應(yīng)用程序,例如mysql命令行客戶端和mysqldump并不能確定位于服務(wù)器安裝目錄中的my.ini文件 的位置。為了配置客戶端和應(yīng)用程序,根據(jù)你的Windows版本的不同,在C:\Windows下或者在C:\WINNT目錄下生 成新的文件my.ini 文件
四、從Noinstall Zip Archive中安裝MySQL
正在從Noinstall軟件包安裝MySQL的用戶可以使用這個(gè)說(shuō)明來(lái)手動(dòng)安裝MySQL。從Zip archive 中安裝MySQL的 步驟如下:
1 在指定的安裝目錄下解壓軟件包。
2 制造選擇文件。
3 選擇MySQL服務(wù)類(lèi)型。
4 開(kāi)始MySQL服務(wù)。
5 保護(hù)默認(rèn)賬戶。
解壓安裝軟件包
為了手工安裝MySQL,需要按以下步驟進(jìn)行:
1 如果你需要對(duì)以前的版本更新,請(qǐng)參考在更新步驟剛開(kāi)始時(shí)的文章 “Upgrading MySQL on Windows”。
2 如果你正在使用基于Windows NT的操作系統(tǒng)例如Windows NT, Windows 2000, Windows XP或者Windows Server 2003,必須保證你作為擁有管理員特權(quán)的用戶登錄該系統(tǒng)。
3 選擇一個(gè)安裝位置。傳統(tǒng)的MySQL服務(wù)器安裝在 C:\mysql,而MySQL安裝向?qū)?MySQL 安裝到 C:\Program Files\MySQL。如果不將 MySQL 安裝到 C:\mysql下,你必須在啟動(dòng)或者在選擇文件中具體指出安裝路徑。
4 選用壓縮工具將安裝壓縮軟件解壓縮至選擇安裝的位置上。有些壓縮工具有可能將其解壓到你的被選擇的安 裝位置的子目錄中。如果是這種情況,你可以將該子目錄的內(nèi)容從子目錄移至安裝路徑下。
生成選擇文件
如果你需要在運(yùn)行服務(wù)器時(shí),具體化啟動(dòng)選項(xiàng),你可以在命令行標(biāo)志出他們或者在一個(gè)選擇文件中設(shè)置他們。 對(duì)于每次服務(wù)器啟動(dòng)時(shí)所使用的服務(wù),你將會(huì)發(fā)現(xiàn)使用選擇文件來(lái)具體化你的MySQL配置是非常便利的。尤其是 在以下情況中:當(dāng)MySQL服務(wù)在Windows上啟動(dòng)時(shí),其在兩個(gè)文件中尋找選項(xiàng):在Windows目錄下的 my.ini 文件以及C:\my.cnf 文件。Windows目錄典型的命名如下:C:\WINDOWS or C:\WINNT。你可以通過(guò)下面的命令來(lái)決定WINDIR環(huán)境變量 的值: C:\> echo %WINDIR% MySQL首先在my.ini 文件中尋找選項(xiàng),然后是在my.cnf 文件中。然而,為了避免混淆,最好是只用一個(gè)文件。 如果你的PC使用加載的啟動(dòng)裝備同時(shí)C:不是啟動(dòng)區(qū),那你只能通過(guò)my.ini文件來(lái)進(jìn)配置。不管你使用哪種選擇 文件,該文件必須是文本格式。你同時(shí)也可以充分利用包含在你的MySQL發(fā)布版的樣本文件。在你的安裝目錄下 尋找諸如 my-small.cnf, my-medium.cnf, my-large.cnf和my-huge.cnf的文件,這些文件可以被重新命名同時(shí) 拷貝到合適的位置作為一個(gè)基本的配置文件來(lái)使用。一個(gè)選擇文件可以被任何文本編輯器生成和修改,諸如 Notepad等。例如,如果MySQL被安裝在E:\mysql 目錄下,而數(shù)據(jù)目錄是在E:\mydata\data下,你可以生成一個(gè) 包含 [mysqld] 部分的選擇文件來(lái)具體化基本目錄和數(shù)據(jù)目錄的參數(shù)值: [mysqld]
# set basedir to your installation path
basedir=E:/mysql
# set datadir to the location of your data directory
datadir=E:/mydata/data
在這里需要注意Windows路徑名在事先使用的斜線而不是反斜線選擇文件中被具體化。因此當(dāng)你使用反斜線時(shí), 你必須使用雙斜線。 [mysqld]
# set basedir to your installation path
basedir=E:\\mysql
# set datadir to the location of your data directory
datadir=E:\\mydata\\data
在Windows中,MySQL安裝程序直接將數(shù)據(jù)目錄安裝在你安裝MySQL的目錄下。如果你需要在另外不同的位置使用 數(shù)據(jù)目錄,你需要將整個(gè)數(shù)據(jù)目錄的內(nèi)容拷貝至新的位置。例如,如果MySQL安裝在C:\Program Files\MySQL\MySQL Server 5.0 目錄下,則數(shù)據(jù)目錄的位置默認(rèn)是在 C:\Program Files\MySQL\MySQL Server 5.0\data下。如果你需要將E:\mydata 作為你的數(shù)據(jù)目錄,你需要做以下兩件事情:
1 將整個(gè)數(shù)據(jù)目錄和它的所有內(nèi)容從C:\Program Files\MySQL\MySQL Server 5.0\data 移至E:\mydata.。
2 每次啟動(dòng)服務(wù)時(shí),使用a--datadir選項(xiàng)來(lái)確認(rèn)新的數(shù)據(jù)目錄位置。
選擇MySQL服務(wù)類(lèi)型
以下顯示了MySQL5.0Windows版本提供的服務(wù)類(lèi)型:mysqld-debug帶有完全調(diào)試和自動(dòng)內(nèi)存分配檢查的編譯,該編譯對(duì)象也包括 InnoDB和BDB數(shù)據(jù)表。
mysqld 優(yōu)化InnoDB支持的二進(jìn)制數(shù)據(jù)。
mysqld-nt優(yōu)化命名管道支持的二進(jìn)制數(shù)據(jù)。
mysqld-max優(yōu)化InnoDB 和 BDB數(shù)據(jù)表所支持的二進(jìn)制數(shù)據(jù)
mysqld-max-nt同mysqld-max功能一樣,但是編譯時(shí)支持命名管道
上述優(yōu)化選項(xiàng)都是針對(duì)Intel 處理器的,但是應(yīng)該可以工作在任何Intel i386-class 或者更高的處理器。在MySQL 5.0中,所有的Windows版本服務(wù)器都提供了對(duì)數(shù)據(jù)庫(kù)目錄的符號(hào)鏈接。 MySQL提供了對(duì)Windows平臺(tái)上的TCP/IP 的支持。mysqld-nt和 mysql-max-nt 服務(wù)器則提供了對(duì)Windows NT,2000,XP和2003下的命名管道的支持。然而,不管在何種平臺(tái)下,默認(rèn)使用的都是TCP/IP。(在很多Windows 配置下,命名管道要比TCP/IP服務(wù)要慢)
命名管道的使用受以下條件的制約:
? 命名管道只有當(dāng)你啟動(dòng)服務(wù)時(shí)選擇 --enable-named-pipe才會(huì)被激活。非常有必要的顯式使用該選項(xiàng) ,因?yàn)橛行┯脩粼诿艿勒谑褂脮r(shí)關(guān)掉MySQL服務(wù)器遇到過(guò)故障問(wèn)題。 ? 命名管道只有在mysqld-nt 或mysqld-max-nt 服務(wù)器下并且僅當(dāng)該服務(wù)器運(yùn)行在支持命名管道的 Windows版本的平臺(tái)下才能使用。? 在Windows 98 or Me系統(tǒng)下,只有當(dāng)其安裝了TCP/IP后,這些服務(wù)才能夠運(yùn)行。命名管道的連接不能 使用。? 上述服務(wù)在Windows 95下不能夠運(yùn)行。注意:在參考手冊(cè)中的大部分例子都使用mysqld作為服務(wù)名。如果你使用另外一個(gè)服務(wù)器,例如mysqld-nt,則 需對(duì)上述例子作合理的替代。
首次開(kāi)啟服務(wù)
這部分的信息主要應(yīng)用在使用Noinstall版本安裝MySQL時(shí),或者希望手動(dòng)而不是使用GUI工具配置和檢測(cè)MySQL 的情況下。在Windows 95, 98, or Me下,MySQL客戶端經(jīng)常和使用TCP/IP的服務(wù)器相連接。(這允許在你網(wǎng)絡(luò)上的任意機(jī)器 可以和MySQL服務(wù)器連接)。基于這一點(diǎn),你必須保證在啟動(dòng)MySQL前,TCP/IP 支持安裝在你的機(jī)器上。你可以 到在你Windows CD-ROM中找到TCP/IP服務(wù)。 在這里需要注意的是如果你正在使用老的Windows 95發(fā)布版本(例如OSR2),那很有可能你在使用一個(gè)舊的 Winsock軟件包;MySQL需要的是Winsock 2。你可以從http://www.microsoft.com/.下載最新的Winsock軟件包 。Windows 98具有新的Winsock 2庫(kù),所以無(wú)需更新庫(kù)。在基于NT的系統(tǒng)例如 Windows NT, 2000, XP, or 2003上,客戶可以有兩個(gè)選擇。他們可以使用TCP/IP或者當(dāng) 服務(wù)器支持命名管道的連接時(shí)使用命名管道。為了得到在TCP/IP下工作的Mysql版本,你必須安裝service pack 3(或者更新的版本) 如果在啟動(dòng)時(shí),選擇 --shared-memory, Windows版本的MySQL 5.0同樣也支持共享內(nèi)存的連接。客戶端可以選 擇 --protocol=memory 選項(xiàng)來(lái)進(jìn)行共享內(nèi)存的連接。
以上對(duì)啟動(dòng)MySQL服務(wù)進(jìn)行了總體概述,下面的內(nèi)容提供了從命令行或者作為Windwos服務(wù)來(lái)啟動(dòng)MySQL服務(wù)器更 加具體的信息:
假設(shè)MySQL安裝在默認(rèn)位置C:\Program Files\MySQL\MySQL Server 5.0下。如果你把MySQL安裝在不同的位置上 ,則需調(diào)整相應(yīng)的路徑名。測(cè)試工作可以從控制臺(tái)窗體(或者通過(guò)“DOS window”)通過(guò)一個(gè)即時(shí)命令來(lái)完成。 這樣你就可以會(huì)在窗體中比較容易的看到服務(wù)器狀態(tài)信息。如果你的配置有誤時(shí),這些信息將有助于你識(shí)別和 修復(fù)任何故障。為了開(kāi)啟服務(wù),輸入以下命令: C:\> C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqld --console
對(duì)于InnoDB支持的服務(wù)器,在服務(wù)啟動(dòng)時(shí)你可以看到下列信息:
InnoDB: The first specified datafile c:\ibdata\ibdata1 did not exist:
InnoDB: a new database to be created!
InnoDB: Setting file c:\ibdata\ibdata1 size to 209715200
InnoDB: Database physically writes the file full: wait...
InnoDB: Log file c:\iblogs\ib_logfile0 did not exist: new to be created
InnoDB: Setting log file c:\iblogs\ib_logfile0 size to 31457280
InnoDB: Log file c:\iblogs\ib_logfile1 did not exist: new to be created
InnoDB: Setting log file c:\iblogs\ib_logfile1 size to 31457280
InnoDB: Log file c:\iblogs\ib_logfile2 did not exist: new to be created
InnoDB: Setting log file c:\iblogs\ib_logfile2 size to 31457280
InnoDB: Doublewrite buffer not found: creating new
InnoDB: Doublewrite buffer created
InnoDB: creating foreign key constraint system tables
InnoDB: foreign key constraint system tables created
011024 10:58:25 InnoDB: Started
當(dāng)服務(wù)器完成啟動(dòng)序列后,你可以看到如下信息,這些信息表明服務(wù)器已經(jīng)開(kāi)始服務(wù)客戶端連接: mysqld: ready for connections
Version: '5.0.13-rc' socket: '' port: 3306
服務(wù)器將會(huì)繼續(xù)將其所產(chǎn)成的判斷信息輸入到控制臺(tái)上。而你則可以打開(kāi)一個(gè)新的控制臺(tái)來(lái)運(yùn)行客戶端程序。如果你省略了 --console 選項(xiàng),服務(wù)器將會(huì)把診斷信息輸出到 數(shù)據(jù)目錄下的錯(cuò)誤日志中(默認(rèn)是C:\Program Files\MySQL\MySQL Server 5.0\data )。錯(cuò)誤日志以.err為擴(kuò)展名。注意:在MySQL授權(quán)數(shù)據(jù)表的帳號(hào)初始化是沒(méi)有密碼的。
在Windows命令行下開(kāi)啟MySQL服務(wù)
MySQL服務(wù)器可以手動(dòng)從命令行啟動(dòng)。該項(xiàng)操作可以在Windows的任何版本下完成。為了從命令行啟動(dòng)mysqld服 務(wù),你應(yīng)該啟動(dòng)一個(gè)控制臺(tái)窗體(或者"DOS 窗體")同時(shí)輸入以下命令:
C:\> C:\Program Files\MySQL\MySQL Server 4.1\bin\mysqld
在上述例子中使用的路徑可以根據(jù)你的系統(tǒng)安裝MySQL的路徑不同而改變。在非NT版本的Windows版本上, mysqld是在后臺(tái)啟動(dòng)的。這也就意味著在服務(wù)啟動(dòng)之后,你查看另外的即時(shí)命令。基于這一點(diǎn),你應(yīng)該在服務(wù) 運(yùn)行時(shí)打開(kāi)另外一個(gè)控制窗體來(lái)運(yùn)行客戶端程序。
你可以通過(guò)執(zhí)行以下命令停止MySQL服務(wù):
C:\> C:\Program Files\MySQL\MySQL Server 4.1\bin\mysqladmin -u root shutdown
該命令激活MySQL管理程序和服務(wù)器連接同時(shí)告訴他關(guān)閉服務(wù)。該名令是作為MySQL根用戶連接的,在Mysql權(quán)限 系統(tǒng)中,根用戶默認(rèn)是管理員帳戶。注意在MySQL授權(quán)系統(tǒng)中的用戶和任意在Windows下登陸的用戶是完全獨(dú)立 的。如果mysqld沒(méi)有啟動(dòng),檢查錯(cuò)誤日志文件查看是否服務(wù)器向其中寫(xiě)入了信息,該信息說(shuō)明問(wèn)題產(chǎn)生的原因。錯(cuò) 誤日志位于C:\Program Files\MySQL\MySQL Server 5.0\data 目錄下。該日志是以擴(kuò)展名為.err的文件。你也 可以試著重新開(kāi)啟mysqld 控制臺(tái)服務(wù),這樣你就有可能獲取一些有助于解決問(wèn)題的信息。最后一個(gè)選項(xiàng)是開(kāi)啟mysqld時(shí)選擇--standalone --debug。在這種情況下,mysqld 將會(huì)寫(xiě)一個(gè) C:\mysqld.trace的日志文件,該日志文件將會(huì)包含mysqld為何沒(méi)有啟動(dòng)的原因。
使用mysqld --verbose --help 可以看到mysqld所提供的所有選項(xiàng)的幫助信息。
作為一項(xiàng)Windows服務(wù)開(kāi)啟MySQL
在NT系列的Windows版本(Windows NT, 2000, XP, 2003)中,推薦運(yùn)行MySQL服務(wù)的方法是將其作為Windows服務(wù) 進(jìn)行安裝,在這種情況下MySQL隨著Windows開(kāi)始和結(jié)束自動(dòng)開(kāi)始和結(jié)束。一個(gè)作為服務(wù)被安裝的MySQL服務(wù)器能 夠被從命令行上使用NET命令或者使用圖形界面服務(wù)程序所控制。服務(wù)程序(Windows 服務(wù)控制管理器)可以被在 Windows控制面板中找到(在Windows 2000, XP, and Server 2003的管理工具下)。建議在執(zhí)行服務(wù)器安裝程序 時(shí)或者在命令行中執(zhí)行刪除操作時(shí)關(guān)閉服務(wù)應(yīng)用程序。這將會(huì)防止很多錯(cuò)誤。在將MySQL作為Windows服務(wù)安裝之前,如果當(dāng)前服務(wù)器正在運(yùn)行,應(yīng)該首先使用下述命令停止其的運(yùn)行:
C:\> C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqladmin -u root shutdown
注意:如果MySQL根用戶有密碼,那么你需要這樣激活命令:
C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqladmin -u root -p shutdown ,同時(shí)必須根據(jù)提示輸入 用戶密碼。
這調(diào)用了MySQL的管理功能mysqladmin,mysqladmin可以連接到服務(wù)器,讓服務(wù)器關(guān)閉。這個(gè)命令是作為MySQL 的 root用戶而和服務(wù)器建立連接的,MySQL的 root用戶在MySQL授權(quán)系統(tǒng)中是默認(rèn)管理帳戶。需要注意的是在 MySQL授權(quán)系統(tǒng)中的用戶是完全獨(dú)立于Windows上登錄用戶。
用下列命令可將服務(wù)器作用一項(xiàng)服務(wù)安裝:
C:\> mysqld –install
如果你用server名字在將服務(wù)器安裝成一項(xiàng)服務(wù)的過(guò)程中遇到問(wèn)題, 那就試試用全稱(chēng)路徑名。舉例來(lái)說(shuō):
C:\> C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqld --install
你也可以將到mysql bin目錄的路徑加入到Windows 系統(tǒng)PATH 環(huán)境變量:
? 在Windows桌面上,右擊“我的電腦”,選擇“屬性” ? 出現(xiàn)系統(tǒng)屬性菜單,選擇“高級(jí)”,然后單擊“環(huán)境變量”按鈕。? 在“系統(tǒng)變量”列表中選擇“路徑”,然后單擊“編輯”按鈕。這時(shí)會(huì)出現(xiàn)編輯系統(tǒng)變量對(duì)話框。 ? 將光標(biāo)放在“變量值”對(duì)應(yīng)的文字的末尾(請(qǐng)使用 End key,以確保光標(biāo)在最后的位置) 。然后輸入 MySQL bin 目錄的全稱(chēng)路徑, (舉個(gè)例子, C:\Program Files\MySQL\MySQL Server 5.0\bin), 注意應(yīng)該用分 號(hào)將這個(gè)路徑與其它值分開(kāi)。 點(diǎn)擊“確定”逐個(gè)關(guān)閉所有打開(kāi)的對(duì)話框。現(xiàn)在你就可以在DOS系統(tǒng)下從系統(tǒng)的 任意目錄中,通過(guò)輸入任意可執(zhí)行的 MySQL 程序的名字而找到該程序,不必再輸入路徑。這包括服務(wù)器、 mysql 客戶和所有 MySQL 命令行比如 mysqladmin 和 mysqldump。 ? 注意如果你在同一臺(tái)機(jī)器上運(yùn)行多個(gè)MySQL 服務(wù)器的話,就不要將MySQL bin 目錄加入到 Windows 路 徑中。
警告: 在手工編輯系統(tǒng)路徑的時(shí)候一定要特別小心,如果不小心刪除或改變了系統(tǒng)路徑中的任何部分都將導(dǎo)致 誤操作甚至導(dǎo)致系統(tǒng)不穩(wěn)定。服務(wù)安裝命令并不啟動(dòng)服務(wù)器,關(guān)于這點(diǎn)后面將詳細(xì)介紹。
MySQL 5.0 在安裝服務(wù)的過(guò)程中對(duì)附加參數(shù)提供的支持有限:? 你可以在安裝選項(xiàng)之后立即為服務(wù)命名,否則默認(rèn)的服務(wù)名字是 MySQL。
? 如果設(shè)置了一個(gè)服務(wù)名字,就可以用使用單一選項(xiàng)。通常按照約定,這應(yīng)當(dāng)是--defaults- file=file_name 來(lái)設(shè)置選項(xiàng)文件的名字,服務(wù)器在啟動(dòng)時(shí)會(huì)從選項(xiàng)文件中讀取選項(xiàng)。可以使用單一選項(xiàng)而不用--defaults-file,但不推薦這樣做。因?yàn)椋?-defaults-file 更加靈活,你可以 通過(guò)將多個(gè)選項(xiàng)放到指定的選項(xiàng)文件中而為服務(wù)器設(shè)置多個(gè)啟動(dòng)選項(xiàng)。同樣,在MySQL 5.0中我們也不支持使用 不同于--defaults-file的選項(xiàng),但5.0.3版本就可以這樣做了。
? 對(duì)于MySQL 5.0.1,你也可以在服務(wù)名字下設(shè)置一個(gè) --local-service(本地服務(wù))選項(xiàng)。這會(huì)使服務(wù) 器用LocalService Windows帳戶運(yùn)行。這種帳戶只在Windows XP或更新的系統(tǒng)上才有。如果服務(wù)名字下既有-- defaults-file 也有 --local-service,那么它們之間不論次序。 對(duì)于安裝成Windows服務(wù)的MySQL服務(wù)器來(lái)說(shuō),由下面的規(guī)則決定服務(wù)名字和服務(wù)器使用的選項(xiàng)文件: ? 如果服務(wù)安裝命令沒(méi)有指定服務(wù)名字,那么安裝選項(xiàng)將默認(rèn)服務(wù)名字為MySQL, 服務(wù)器將使用 MySQL服 務(wù),并從標(biāo)準(zhǔn)選項(xiàng)文件中的 [mysqld]群中讀取選擇。 ? 如果服務(wù)安裝命令沒(méi)有指定了一個(gè)服務(wù)名字,服務(wù)器將使用指定的服務(wù)名字并從從標(biāo)準(zhǔn)選項(xiàng)文件中與 服務(wù)名字相同的群中讀取選項(xiàng)。 服務(wù)器也從標(biāo)準(zhǔn)文件選項(xiàng)文件中的[mysqld]群中讀取選項(xiàng)。這保證可以從[mysqld]群中讀取所有MySQL服務(wù)都 用的選項(xiàng),而用指定服務(wù)名字按照的服務(wù)器使用和與指定服務(wù)名字相同的選項(xiàng)群。 ? 如果安裝命令在服務(wù)名字之后指定一個(gè) --defaults-file 選項(xiàng),那么服務(wù)器只從指定文件的 [mysqld] 群中讀取選項(xiàng)而忽略標(biāo)準(zhǔn)選項(xiàng)文件。
下面的命令是一個(gè)復(fù)雜的例子:
C:\> C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqld --install MySQL --defaults-file=C:\my- opts.cnf
在這里,由安裝選項(xiàng)給出了默認(rèn)服務(wù)名字MySQL。如果沒(méi)有給出--defaults-file選項(xiàng),那么這個(gè)命令將使服務(wù) 器從標(biāo)準(zhǔn)選項(xiàng)文件中的[mysqld]群中讀取。然而在這里給出了--defaults-file選項(xiàng),所以服務(wù)器只從指定文件 的[mysqld] 選項(xiàng)群讀取。
你也可以在啟動(dòng)MySQL服務(wù)之前,在Windows Services 工具欄中將選項(xiàng)定義為啟動(dòng)參數(shù)。一旦MySQL服務(wù)器被安裝成一項(xiàng)服務(wù),Windows就會(huì)在啟動(dòng)時(shí)自動(dòng)啟動(dòng)該服務(wù)。也可以在Services 工具欄中直接 啟動(dòng)MySQL服務(wù)器,或使用NET START MySQL命令也可。NET 命令不區(qū)分大小寫(xiě)。
作為服務(wù)運(yùn)行時(shí),mysqld無(wú)權(quán)使用控制窗口,因此在這里看不到消息。如果mysqld不能啟動(dòng),就查錯(cuò)誤記錄看 看服務(wù)器是不是寫(xiě)下了什么說(shuō)明問(wèn)題原因的消息。錯(cuò)誤記錄在MySQL數(shù)據(jù)目錄下(比如: C:\Program Files\MySQL\MySQL Server 5.0\data)。錯(cuò)誤記錄的后綴名是 .err。
MySQL作為服務(wù)安裝的情況下,如果服務(wù)正在運(yùn)行,Windows關(guān)閉的時(shí)候會(huì)自動(dòng)停止服務(wù)。 如果你不想在boot 進(jìn)程中自動(dòng)啟動(dòng)服務(wù),你可以將服務(wù)器作為手動(dòng)服務(wù)安裝。手動(dòng)服務(wù)的安裝需要選擇“手動(dòng) 安裝” 選項(xiàng)而不是 “安裝”選項(xiàng):
C:\> C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqld --install-manual
要?jiǎng)h除作為服務(wù)安裝的服務(wù)器時(shí),首先要通過(guò)NET STOP MYSQL關(guān)閉正在運(yùn)行的MYSQL,然后用“刪除”選項(xiàng)刪除 它:
C:\> C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqld --remove 如果mysqld不是作為服務(wù)運(yùn)行,可以用命令行啟動(dòng)它。
五、測(cè)試 MySQL安裝
你可以通過(guò)執(zhí)行下列任何一個(gè)命令來(lái)測(cè)試MySQL 服務(wù)器是否安裝:
C:\> C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqlshow
C:\> C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqlshow -u root mysql
C:\> C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqladmin version status proc
C:\> C:\Program Files\MySQL\MySQL Server 5.0\bin\mysql test
如果mysqld對(duì)來(lái)自客戶程序的TCP/IP 連接反應(yīng)很慢,那么說(shuō)明你的DNS可能有問(wèn)題。在這種情況下,用--skip -name-resolve選項(xiàng)啟動(dòng)mysqld,而且在MySQL 授權(quán)列表的Host欄中只使用本地Host和IP。 你可以強(qiáng)迫 MySQL客戶運(yùn)用管理連接,而不用TCP/IP。方法是選定--pipe 或--protocol=PIPE 按鈕,或指定 . (period)作為主機(jī)名。運(yùn)行--socket 選項(xiàng)來(lái)規(guī)定管道名。
九、排除在Windows下安裝MySQL的故障
如果是初次安裝MySQL,你可能會(huì)遇到一些阻止MySQL啟動(dòng)的錯(cuò)誤,這一部分的目的就是幫助你診斷和排除某些 故障。 在排查故障時(shí),可用的第一項(xiàng)資源就是錯(cuò)誤記錄。MySQL 服務(wù)器的錯(cuò)誤記錄會(huì)記下阻止服務(wù)器啟動(dòng)的相關(guān)錯(cuò)誤 。錯(cuò)誤記錄在數(shù)據(jù)目錄下,my.ini文件中記載了數(shù)據(jù)目錄的地址。默認(rèn)的文件目錄位置是C:\Program Files\MySQL\MySQL Server 5.0\data。 另外在MySQL服務(wù)運(yùn)行過(guò)程中的控制信息也可能會(huì)記載一些相關(guān)的錯(cuò)誤。在mysqld作為服務(wù)安裝之后,從命令行 中執(zhí)行NET START mysql命令查看是否有關(guān)于作為服務(wù)啟動(dòng)MySQL服務(wù)器的錯(cuò)誤信息。
下面的例子是一些首次安裝MySQL和啟動(dòng)服務(wù)器的過(guò)程中,可能遇到的常見(jiàn)錯(cuò)誤信息:?System error 1067 has occurred.
?Fatal error: Can't open privilege tables: Table 'mysql.host' doesn't exist
? 當(dāng) MySQL 服務(wù)器找不到 mysql privileges database 或其它關(guān)鍵文件時(shí),就會(huì)產(chǎn)生這樣的信息。當(dāng) MySQL的原始數(shù)據(jù)或數(shù)據(jù)目錄安裝在不同于默認(rèn)位置(分別是C:\mysql 和 C:\Program Files\MySQL\MySQL Server 5.0\data )時(shí),常常遇到這個(gè)問(wèn)題。 一種情況是MySQL已升級(jí)并安裝到新的位置,但配置文件并沒(méi)有反映新的安裝位置。另外 ,可能會(huì)產(chǎn)生相互沖 突的新、舊配置文件。因此,在升級(jí)MySQL時(shí),應(yīng)確保刪除舊的配置文件或重命名。 如果你將MySQL安裝到了C:\Program Files\MySQL\MySQL Server 5.0以外的其它位置,你必須確保MySQL服務(wù)器 通過(guò)一個(gè)配置文件(my.ini) 知道安裝的位置。my.ini文件必須在Windows目錄下,通常是C:\WINNT 或 C:\WINDOWS。你可以從WINDIR環(huán)境變量的值來(lái)確定其具體位置,需要從命令提示符發(fā)出下列命令:
C:\> echo %WINDIR%
生成一個(gè)選項(xiàng)文件,并且可以用任何文本編輯程序修改,比如Notepad。舉例來(lái)說(shuō),如果MySQL安裝在E:\mysql 、數(shù)據(jù)目錄是D:\MySQLdata,你可以創(chuàng)建一個(gè)選項(xiàng)文件,在其中創(chuàng)建一個(gè)[mysqld]部分來(lái)定義basedir 和 datadir參數(shù):[mysqld]
# set basedir to your installation path
basedir=E:/mysql
# set datadir to the location of your data directory
datadir=D:/MySQLdata
注意在選項(xiàng)文件中,Windows 路徑名是用(forward) slashes 定義的,而不是用 backslashes。如果你使用的 是 backslashes,你就需要將它們加倍:[mysqld]
# set basedir to your installation path
basedir=C:\\Program Files\\MySQL\\MySQL Server 5.0
# set datadir to the location of your data directory
datadir=D:\\MySQLdata
如果你在MySQL配置文件改變了datadir值,那么你在重新啟動(dòng)MySQL服務(wù)器之前就必須將已有的MySQL數(shù)據(jù)目錄 轉(zhuǎn)移到相應(yīng)的位置。
? Error: Cannot create Windows service for MySql. Error: 0
? 如果你不先停止并刪除現(xiàn)有的MySQL而重新安裝或升級(jí)時(shí),或用MySQL Configuration Wizard安裝 MySQL時(shí),就會(huì)產(chǎn)生這樣的錯(cuò)誤。因?yàn)楫?dāng)Configuration Wizard試圖安裝服務(wù)時(shí),就會(huì)發(fā)現(xiàn)已經(jīng)有一個(gè)同名的服 務(wù)。 對(duì)這個(gè)問(wèn)題的一個(gè)解決方法是,在使用configuration wizard時(shí)選擇一個(gè)服務(wù)名稱(chēng),而不用默認(rèn)的mysql 。這 可以使新的服務(wù)正確地安裝,但舊的還放在那里。建議最好還是把不用的刪掉。 要永久刪除舊的mysql服務(wù),需要用戶以管理權(quán)限在命令行上執(zhí)行下列命令:
C:\>sc delete mysql
[SC] DeleteService SUCCESS
如果你的Windows版本上沒(méi)有sc工具欄,就從下面的網(wǎng)址上下載delsrv工具欄: http://www.microsoft.com/windows2000/techinfo/reskit/tools/existing/delsrv-o.asp 然后運(yùn)用delsrv mysql syntax。
六、在Windows上升級(jí)MySQL
這部分介紹一些在Windows上升級(jí)MySQL的必需步驟。 1. 在升級(jí)之前,你應(yīng)當(dāng)一直支持目前的MySQL安裝。 “Database Backups”
2. 在http://dev.mysql.com/downloads可以下載在Windows上安裝MySQL 的最新內(nèi)容。
3. 在升級(jí)MySQL之前,必須停止服務(wù)器。
如果服務(wù)器是作為服務(wù)安裝的,要從命令提示符通過(guò)下列命令停止服務(wù):
C:\> NET STOP MYSQL
如果不是作為服務(wù)安裝的,就用下列命令停止MySQL服務(wù)器:
C:\> C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqladmin -u root shutdown
當(dāng)將4.1.5以前的版本升級(jí)到 MySQL5.0時(shí),或?qū)⒂肸ip壓縮文件安裝的MySQL升級(jí)到用MySQL Installation Wizard安裝的MySQL版本時(shí),必須手動(dòng)刪除以前的安裝和MySQL服務(wù)(如果服務(wù)器有作為服務(wù)安裝的話). 用下列命令刪除原來(lái)的MySQL服務(wù):
C:\> C:\mysql\bin\mysqld --remove
如果不刪除原有服務(wù),MySQL Installation Wizard可能無(wú)法安裝新的MySQL服務(wù)。
如果你從Zip 壓縮文檔安裝MySQL,要么覆蓋原有的MySQL安裝(通常在C:\mysql),要么在不同的目錄下安裝 ,比如C:\mysql4。建議覆蓋原有安裝。
重啟服務(wù)器。如果MySQL是作為服務(wù)運(yùn)行的話,用NET START MySQL,或者直接調(diào)用mysqld。
Windows 和 Unix兩種系統(tǒng)下的MySQL比較
MySQL在Windows上已經(jīng)相當(dāng)穩(wěn)定。Windows版本的MySQL和相應(yīng)的Unix版本的MySQL具有相同的特性,但存在以下 幾點(diǎn)不同:
? Windows 95和線程
Windows 95分出約200字節(jié)的主內(nèi)存給每一個(gè)線程。MySQL的每個(gè)連接創(chuàng)建一個(gè)新的線程,所以如果服務(wù)器處理 多個(gè)連接時(shí),不應(yīng)該在Windows 95下運(yùn)行 mysqld。其他版本的Windows不存在這個(gè)bug。
? 限制端口數(shù)量
Windows系統(tǒng)下大概有4,000個(gè)可用端口,當(dāng)一個(gè)端口的連接關(guān)閉時(shí),需要2-4分鐘才能重新啟用該端口。當(dāng)處 于代理連接和斷開(kāi)連接的高峰期時(shí),可能使所有的端口在重新啟用之前都處于關(guān)閉狀態(tài)。如果發(fā)生這種情況, MySQL服務(wù)器將停止相應(yīng),盡管它還處于運(yùn)行狀態(tài)下。需要注意的是,機(jī)器上運(yùn)行的其它應(yīng)用程序也可能使用端 口,這也會(huì)使可用端口的數(shù)量下降。更多的信息請(qǐng)參看下面鏈接: http://support.microsoft.com/default.aspx?scid=kb;en-us;196271.
? 同時(shí)讀取
MySQL依賴于調(diào)用pread()和pwrite()系統(tǒng)來(lái)使INSERT和SELECT可用。目前,我們使用mutexes來(lái)代替pread()和 pwrite()。我們打算用虛擬的界面來(lái)替代文件水平界面,這樣我們就可以在NT,2000和XP系統(tǒng)上使用readfile ()/writefile()界面并獲得較高的速度。目前MySQL 5.0只能執(zhí)行2,048個(gè)文件,這就意味著不能在Windows NT ,2000,XP和2003以及Unix下運(yùn)行多個(gè)同時(shí)運(yùn)行的線程。
? 封閉讀取
MySQL對(duì)每一個(gè)連接使用封閉讀取,如果指定的通道連接可用,這就意味著以下幾點(diǎn):o一個(gè)連接不會(huì)在8小時(shí)后自動(dòng)斷開(kāi),這發(fā)生于Unix版本的MySQL。
o如果連接懸掛,只有關(guān)閉MySQL才能斷開(kāi)該連接。
omysqladmin kill 對(duì)睡眠狀態(tài)的連接無(wú)效。
o只要存在睡眠連接,mysqladmin shutdown不會(huì)異常終止。
? ALTER TABLE
當(dāng)你正在執(zhí)行一個(gè)ALTER TABLE語(yǔ)句時(shí),在被其他線程使用前表格將被鎖定。在Windows系統(tǒng)下可發(fā)生該情況, 你不能刪除被另外一個(gè)線程使用的文件。將來(lái)我們可能找到解決該問(wèn)題的方法。
? DROP TABLE
因?yàn)镸ERGE 處理器處理隱藏于MySQL上一層的表格,這可使Windows下的被MERGE表格使用的DROP TABLE不工作。 因?yàn)閃indows不允許dropping文件開(kāi)啟,你就必須轉(zhuǎn)儲(chǔ)清除所有的MERGE表格(使用FLUSH TABLES)或者在 dropping文件前先撤銷(xiāo)MERGE表格。
? 數(shù)據(jù)目錄和索引目錄
Windows系統(tǒng)忽略了CREATE TABLE的數(shù)據(jù)目錄和索引目錄選項(xiàng),這是由于Windows不支持符號(hào)連接造成的。在擁 有無(wú)功能realpath()調(diào)用的系統(tǒng)上也會(huì)忽略這些選項(xiàng)。
? 撤銷(xiāo)數(shù)據(jù)庫(kù)
你不能夠撤銷(xiāo)正在被某個(gè)線程使用的數(shù)據(jù)庫(kù)。
? 從任務(wù)管理器內(nèi)關(guān)閉MySQL
你不能夠在任務(wù)管理器內(nèi)關(guān)閉MySQL,也不能依靠Windows 95的關(guān)機(jī)操作關(guān)閉MySQL。你必須使用mysqladmin shutdown來(lái)關(guān)閉MySQL。
? 名稱(chēng)的大小寫(xiě)
在Windows下的文件名不區(qū)分大小寫(xiě),所以Windows同樣不區(qū)分MySQL數(shù)據(jù)庫(kù)和表格的名稱(chēng)的大小寫(xiě)。唯一的限制 就是數(shù)據(jù)庫(kù)和表格名稱(chēng)必須在給定的語(yǔ)句內(nèi)全部使用相同的case來(lái)指定。
? ‘\’路徑名分離字符
在Windows下使用‘\’來(lái)分離路徑名,‘\’同樣是MySQL里的換碼符。如果你使用LOAD DATA INFILE 或者 SELECT ... INTO OUTFILE,使用Unix格式的文件名內(nèi)出現(xiàn)‘/’字符:mysql> LOAD DATA INFILE 'C:/tmp/skr.txt' INTO TABLE skr;
mysql> SELECT * INTO OUTFILE 'C:/tmp/skr.txt' FROM skr;
換句話說(shuō), 你必須使用兩個(gè)‘\’字符。
mysql> LOAD DATA INFILE 'C:\\tmp\\skr.txt' INTO TABLE skr;
mysql> SELECT * INTO OUTFILE 'C:\\tmp\\skr.txt' FROM skr;
? 進(jìn)程管道的問(wèn)題
進(jìn)程管道不會(huì)按照Windows命令行的提示可靠的工作。如果進(jìn)程管道包含有字符^Z / CHAR(24),Windows便為認(rèn) 為達(dá)到文件尾并終止程序。當(dāng)你應(yīng)用下面的一個(gè)二進(jìn)制日志時(shí)便會(huì)出現(xiàn)問(wèn)題:
C:\> mysqlbinlog binary-log-name | mysql --user=root 如果你需要應(yīng)用該日志并遇到問(wèn)題,你可以懷疑這是由于^Z / CHAR(24)字符導(dǎo)致的,可使用下面的工作區(qū)來(lái)解 決: C:\> mysqlbinlog binary-log-file --result-file=/tmp/bin.sql C:\> mysql --user=root --execute "source /tmp/bin.sql" 這樣,后面的命令也可以可靠的讀取含有二進(jìn)制數(shù)據(jù)的SQL文件。
? 用戶錯(cuò)誤所導(dǎo)致的拒絕訪問(wèn)
如果你嘗試運(yùn)行MySQL代理程序來(lái)連接服務(wù)器,同時(shí)該服務(wù)器又在同一臺(tái)機(jī)子上運(yùn)行著,你就被當(dāng)作'some- user'@'unknown'用戶而被拒絕訪問(wèn)'mysql'數(shù)據(jù)庫(kù),這表明MySQL不能夠恰當(dāng)?shù)慕馕鲋鳈C(jī)名。要解決該問(wèn)題,你必須創(chuàng)建一個(gè)名為\windows\hosts的文件,并包含下面的信息:127.0.0.1 localhost