【轉載】mysql安裝常見問題(系統找不到指定的文件、發生系統錯誤 1067 進程意外終止)

在安裝mysql時老是會遇到這樣那樣的問題,每次從新安裝都會花不少時間來排查。在 網上其實有不少相關的文章,但不少都只講了方法,但沒講具體細節問題,致使沒法解決問題。其實有時候知道問題的緣由,但老是由於一些細節問題沒有注意到, 反覆的嘗試,浪費了不少時間。如今把我安裝過程當中遇到的問題以及該注意的問題記錄下來。mysql

環境:windows7sql

mysql版本:mysql-5.6.10-win32數據庫

若是是默認安裝,那麼mysql會被安裝到目錄C:\Program Files\MySQL\MySQL Server 5.6中,特別要注意該目錄,下面會說明緣由。windows

通常狀況下,安裝完mysql後,咱們都但願直接能夠鏈接使用,可是實際狀況卻不必定能這樣順利。安裝完成後,直接在CMD中輸入命令:google

C:\Windows\system32>mysql -uroot  編碼

'mysql' 不是內部或外部命令,也不是可運行的程序或批處理文件。  spa

這是因爲沒有配置環境變量致使的,固然也能夠先切換到mysql的安裝目錄再執行命令,不過那不是麻煩麼。命令行

首先配置環境變量,把mysql所在目錄的bin目錄添加到path環境變量中(如何設置環境變量的具體操做省略,能夠google一大把)。server

配置好環境變量後,該能夠鏈接mysql了吧?試試看mysql -uroot,咦,怎麼回事:rem

C:\Windows\system32>mysql -uroot  

ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)  

什麼緣由?難道是服務沒有啓動,來啓動服務看看:

C:\Windows\system32>net start mysql  

服務名無效。 

請鍵入 NET HELPMSG 2185 以得到更多的幫助。  

竟然服務名無效?打開windows服務一看,原來是安裝完mysql後根本沒有安裝mysql服務,須要咱們手動安裝。

安裝mysql的服務很「簡單」,在命令行中輸入:

C:\Users\MikanMu>mysqld --install  

Install/Remove of the Service Denied!  

咦,怎麼回事?這是因爲沒有權限形成的,須要在啓動命令行時以管理員身份運行才行。關閉當前cmd窗口從新以管理員身份運行:

C:\Windows\system32>mysqld --install  

Service successfully installed.  

提示成功安裝。很好,安裝完服務後,啓動起來看看:

C:\Windows\system32>net start mysql  

發生系統錯誤 2。 

系統找不到指定的文件。  

我了個去,這又是怎麼回事?上網各類查,都說是須要在mysql配置文件中添加路徑:

basedir=C:/Program Files/MySQL/MySQL Server 5.6
datadir=C:/Program Files/MySQL/MySQL Server 5.6/data

好吧,我試試,mysql-5.6.10-win32默認的配置文件是在C:/Program Files/MySQL/MySQL Server 5.6/my-default.ini,或者本身創建一個my.ini文件,在其中添加配置:

[mysqld]
basedir=C:/Program Files/MySQL/MySQL Server 5.6
datadir=C:/Program Files/MySQL/MySQL Server 5.6/data

注意:一、安裝目錄下因爲權限的緣由不能直接創建文件,須要在其餘地方創建並添加好相應的配置後,再拷貝到安裝目錄C:/Program Files/MySQL/MySQL Server 5.6下。

二、網上有的說配置中的目錄分隔符必須是正斜槓‘/’,可是通過實驗,‘/’、‘\’、‘\\’都沒有問題,都是能夠的。

三、basedir這個配置是mysql的安裝目錄,記住,必定是要配置到C:/Program Files/MySQL/MySQL Server 5.6這個目錄,不能到C:/Program Files/MySQL就完了。

四、my.ini文件的編碼必須是英文編碼(如windows中的ANSI),不能是UTF-8或GBK等。

上面操做完成後(必定要注意細節),再來啓動一下服務:

C:\Windows\system32>net start mysql  

發生系統錯誤 2。

系統找不到指定的文件。  

怎麼仍是報這個錯?難道不是因爲配置的緣由?對,不是因爲上面的配置的問題,但上面的配置添加後也沒有錯。那是什麼緣由?

這裏是最須要注意的地方,在安裝mysql服務時,必定要切換到mysql安裝目錄的bin目錄下,無論你是否配置環境變量,不然在安裝完後啓動服務仍是會報上面的錯誤。

切換到bin目錄後,先刪除前面安裝的mysql服務(刪除服務不必定要到bin目錄),再從新在bin目錄下安裝mysql服務,而後啓動:

C:\Windows\system32>cd ../..  

C:\>cd Program Files\MySQL\MySQL Server 5.6\bin

C:\Program Files\MySQL\MySQL Server 5.6\bin>mysqld --remove  

Service successfully removed.  

C:\Program Files\MySQL\MySQL Server 5.6\bin>mysqld --install  

Service successfully installed.   

C:\Program Files\MySQL\MySQL Server 5.6\bin>net start mysql  

MySQL 服務正在啓動 .  

MySQL 服務已經啓動成功。  


哇,終於成功了!!

如今來驗證一下不須要添加my.ini文件,也是能夠正常啓動服務的,只要是在bin 目錄下安裝的服務就行。只須要中止mysql服務,把服務刪除後,再把mysql安裝目錄下的my.ini文件刪除掉,再從新安裝服務,啓動mysql服 務,看看能不能正常啓動便可,實驗證實,是能夠正常啓動的。

C:\Program Files\MySQL\MySQL Server 5.6\bin>net stop mysql  

MySQL 服務正在中止.  

MySQL 服務已成功中止。  

C:\Program Files\MySQL\MySQL Server 5.6\bin>mysqld --remove  

Service successfully removed.  

C:\Program Files\MySQL\MySQL Server 5.6\bin>mysqld --install  

Service successfully installed. 

C:\Program Files\MySQL\MySQL Server 5.6\bin>net start mysql  

MySQL 服務正在啓動 .  

MySQL 服務已經啓動成功。  

終於大功告成!!!看看能不能鏈接:

C:\Program Files\MySQL\MySQL Server 5.6\bin>mysql -uroot  

Welcome to the MySQL monitor.  Commands end with ; or \g.  

Your MySQL connection id is 3  

Server version: 5.6.10 MySQL Community Server (GPL) 

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. 

Oracle is a registered trademark of Oracle Corporation and/or its  

affiliates. Other names may be trademarks of their respective  

owners. 

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. 

mysql>  

徹底沒有問題。

另外,mysql默認的root用戶是沒有設置密碼的,咱們能夠修改root用戶密碼,方法以下:

一、直接在cmd命令行,不須要進入mysql

mysqladmin -u root password '新密碼'  

二、在mysql中,必定要鏈接到某個數據庫

mysql> use mysql  

Database changed  

mysql> update user set password=password('新密碼') where user='root';  

Query OK, 3 rows affected (0.00 sec)  

Rows matched: 3  Changed: 3  Warnings: 0  

mysql> flush privileges;  

Query OK, 0 rows affected (0.00 sec)  

相關文章
相關標籤/搜索