Mysql安裝注意事項、安裝失敗的五個原因
錯誤1:wizard安裝最後一頁,出現cannot create Windows service for mysql.error:0 錯誤
解決方法:打開命令行 輸入 sc delete mysql 命令即
C:>sc delete mysql
[SC] DeleteService SUCCESS
重起電腦,或者卸載後重啟再安裝,這樣就好了。我是卸載後重啟的。
卸載重新安裝要注意一個問題,在控制面板中卸載後,要去c:\Documents and Settings\All Users\Application Data目錄下把Mysql文件夾刪掉。裡面可能記載了你卸載的配置信息,下次安裝時會有影響。
錯誤2:在讓輸入管理員輸入密碼時除了password和confirm password之外還有一行current password。
這說明你安裝之前沒有把我第1條中說的目錄下把Mysql文件夾刪除。不知道是否影響後續使用,可能記得密碼的話沒關系。另附帶一句,管理員密碼是自己設的,用戶名則為默認root。
安裝成功後可測試如下:打開mysql command line client,輸入密碼,出現
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.1.33-community MySQL Community Server (GPL)
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
則安裝成功!
錯誤3:mysql server configuration失敗。
在配置向導中查看錯誤提示有如下語句:
mysql-server-5.5-win32:60 - Adding firewall rule for MySQL55 on port 3306.
mysql-server-5.5-win32:66 - Adding firewall rule failed.
表示防火牆安裝失敗。
查看安裝日志能找到以下語句:
mysql-installer Information: 10 : Attempting to create firewall rule with command: netsh.exe firewall add portopening protocol=TCP port=3306 profile=ALL name=MySQL55 mode=ENABLE scope=ALL
mysql-installer Information: 10 : Unexpected response from netsh: 確定。
mysql-installer Information: 10 : Attempting to create firewall rule with command: netsh.exe advfirewall firewall add rule name=”Port 3306” protocol=TCP localport=3306 dir=in action=allow
mysql-installer Information: 10 : Unexpected response from netsh: 下列命令沒有找到: advfirewall firewall add rule name=”Port 3306” protocol=TCP localport=3306 dir=in action=allow。
這種情況說明mysql的安裝對中文系統支持得不好,不能識別 netsh.exe返回的“確定”信息,繼而運行能在其他windows平台上運行的netsh.exe advfirewall命令(該命令xp不支持,所以報找不到該命令的錯誤。
解決辦法有兩個:
①將自己的操作系統的語言設置為英文,然後重新安裝mysql 。具體的可以進入控制面板->區域和語言 中去更改;另外,檢查當前用戶是否有啟動防火牆的權限,在計算機服務中查看Application Layer Gateway Service的屬性,查看登錄選項卡中的用戶是否是當前用戶。
②檢查防火牆端口,如果已經添加成功了,則不作處理,如果沒有成功添加,則自己手動在防火牆中添加端口。
錯誤4:安裝成功之後,只能通過mysql 5.5 command line client 連接localhost的mysql server,而不能通過workbench或其他客戶端工具進行遠程連接mysql server。
關鍵字:不能遠程連接mysql server。
可能原因:
①沒有開端口,參見前一條解決。
②用戶沒有授權遠程連接。
③mysql server不允許遠程連接。
對於②用戶沒有授權遠程連接,可以給用戶授權,例如默認的root用戶,可以在mysql 5.5 command line client 中輸入如下命令:
//選擇數據庫
mysql>use mysql;
//給用戶授權,yourpassword字段用你的密碼代替
mysql>grant all priileges on *.* to identified by 'yourpassword';
//刷新系統權限表
mysql>flush privileges;
//查看是否授權成功
mysql> show grants for roots;
如果出現剛剛的授權,則表示成功。不成功的話,自己再添加一個新用戶試試,添加用戶的命令:
insert into mysql.user(Host,User,Password,ssl_cipher,x509_issuer,x509_subject) values("%","newuser",password("newpassword"),'','','')
對於③mysql server不允許遠程連接的解決辦法是,找到自己的my.ini,在[mysqld]下增加一行語句:
bind-address=0.0.0.0
表示不綁定IP,重啟你的Mysql服務。
錯誤5:配置文件my.ini的位置
MySQL配置向導將my.ini文件放置在MySQL服務器的安裝目錄中。這將有助於將配置文件和具體的服務器實例相 關聯。為了保證MySQL服務器知道到哪裡查找my.ini文件,和下面內容類似的參數將會被作為服務安裝的一部分 傳遞給MySQL服務器:--defaults-file="C:\Program Files\MySQL\MySQL Server 5.5\my.ini C:\Program Files\MySQL\MySQL Server 5.5可以被指向MySQL服務器的安裝路徑所代替。
編輯my.ini文:可以使用文本編輯器打開該文件同時做出必要的編輯和修改。你也可以以MySQL Administrator的應用程序來修 改服務器配置。 MySQL客戶端和應用程序,例如mysql命令行客戶端和mysqldump並不能確定位於服務器安裝目錄中的my.ini文件 的位置。為了配置客戶端和應用程序,根據你的Windows版本的不同,在C:\Windows下或者在C:\WINNT目錄下生 成新的文件my.ini 文件
如果你的MySQL配置向導發現了一個已經存在的my.ini文件,你可以重新配置已經存在的服務器,或者通過刪除 my.ini文件、停止並移除MySQL服務的方法移除服務器實例。重新配置已經存在的服務器,選擇“重新配置實例”選項並且選擇“下一步”按鈕。已經存在的my.ini文件被 重新命名為mytimestamp.ini.bak,時間戳是已經存在的my.ini創建時的日期和時間。移除已經存在的數據庫實 例,選擇“移除實例”選項並選擇“下一步”按鈕。如果選擇了“移除實例”選項,進入到確認界面。單擊“運行”按鈕:MySQL配置向導停止並開始移除MySQL服 務,並刪除my.ini文件。但服務器安裝目錄並沒有移除。如果選擇了“重新配置實例”選項,進入到“配置類型”界面,可以選擇安裝想要配置的安裝類型。