MySQL安裝常見問題(找不到檔案,系統服務無法啟動...)

來源:互聯網
上載者:User

標籤:

在安裝mysql時總是會遇到問題,每次重新安裝都會花很多時間來排查。在網上其實有很多相關的文章,但很多都只講了方法,但沒講具體細節問題,導致無法解決問題。其實有時候知道問題的原因,但總是因為一些細節問題沒有注意到,反覆的嘗試,浪費了很多時間。現在把我安裝過程中遇到的問題以及該注意的問題記錄下來。

環境:windows7

mysql版本:mysql-5.6.10-win32

如果是預設安裝,那麼mysql會被安裝到目錄C:\Program Files\MySQL\MySQL Server 5.6中,特別要注意該目錄,下面會說明原因。

一般情況下,安裝完mysql後,我們都希望直接可以串連使用,但是實際情況卻不一定能這樣順利。安裝完成後,直接在CMD中輸入命令:

 

[plain] view plain copy 在CODE上查看代碼片派生到My Code片 01.C:\Windows\system32>mysql -uroot  02.‘mysql‘ 不是內部或外部命令,也不是可啟動並執行程式或批次檔。 

 

 

這是由於沒有配置環境變數導致的,當然也可以先切換到mysql的安裝目錄再執行命令,不過那不是麻煩麼。

首先配置環境變數,把mysql所在目錄的bin目錄添加到path環境變數中(如何設定環境變數的具體操作省略,可以google一大把)。

 

配置好環境變數後,該可以串連mysql了吧?試試看mysql -uroot,咦,怎麼回事:

 

[plain] view plain copy 在CODE上查看代碼片派生到My Code片 01.C:\Windows\system32>mysql -uroot  02.ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘localhost‘ (10061) 

 

 

什麼原因?難道是服務沒有啟動,來啟動服務看看:

 

 

[plain] view plain copy 在CODE上查看代碼片派生到My Code片 01.C:\Windows\system32>net start mysql  02.服務名無效。  03.  04.請鍵入 NET HELPMSG 2185 以獲得更多的協助。 

 

 

居然服務名無效?開啟windows服務一看,原來是安裝完mysql後根本沒有安裝mysql服務,需要我們手動安裝。

安裝mysql的服務很“簡單”,在命令列中輸入:

 

[html] view plain copy 在CODE上查看代碼片派生到My Code片 01.C:\Users\MikanMu>mysqld --install  02.Install/Remove of the Service Denied! 

 

 

咦,怎麼回事?這是由於沒有許可權造成的,需要在啟動命令列時以管理員身份運行才行。關閉當前cmd視窗重新以管理員身份運行:

 

 

[plain] view plain copy 在CODE上查看代碼片派生到My Code片 01.C:\Windows\system32>mysqld --install  02.Service successfully installed. 

 

 

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

 

 

[plain] view plain copy 在CODE上查看代碼片派生到My Code片 01.C:\Windows\system32>net start mysql  02.發生系統錯誤 2。  03.  04.系統找不到指定的檔案。 

 

 

我了個去,這又是怎麼回事?上網各種查,都說是需要在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

 

 

注意:1、安裝目錄下由於許可權的原因不能直接建立檔案,需要在其他地方建立並添加好相應的配置後,再拷貝到安裝目錄C:/Program Files/MySQL/MySQL Server 5.6下。

2、網上有的說配置中的目錄分隔字元必須是正斜杠‘/’,但是經過實驗,‘/’、‘\’、‘\\’都沒有問題,都是可以的。

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

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

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

 

 

[plain] view plain copy 在CODE上查看代碼片派生到My Code片 01.C:\Windows\system32>net start mysql  02.發生系統錯誤 2。  03.  04.  05.系統找不到指定的檔案。 

 

 

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

這裡是最需要注意的地方,在安裝mysql服務時,一定要切換到mysql安裝目錄的bin目錄下,不管你是否配置環境變數,否則在安裝完後啟動服務還是會報上面的錯誤。

切換到bin目錄後,先刪除前面安裝的mysql服務(刪除服務不一定要到bin目錄),再重新在bin目錄下安裝mysql服務,然後啟動: 一定要cd :進入bin目錄即使你配了環境變數

 

 

[plain] view plain copy 在CODE上查看代碼片派生到My Code片 01.C:\Windows\system32>cd ../..  02.  03.C:\>cd Program Files\MySQL\MySQL Server 5.6\bin  04.  05.C:\Program Files\MySQL\MySQL Server 5.6\bin>mysqld --remove  06.Service successfully removed.  07.  08.C:\Program Files\MySQL\MySQL Server 5.6\bin>mysqld --install  09.Service successfully installed.  10.  11.C:\Program Files\MySQL\MySQL Server 5.6\bin>net start mysql  12.MySQL 服務正在啟動 .  13.MySQL 服務已經啟動成功。 

 

 哇,終於成功了!!

現在來驗證一下不需要添加my.ini檔案,也是可以正常啟動服務的,只要是在bin目錄下安裝的服務就行。只需要停止mysql服務,把服務刪除後,再把mysql安裝目錄下的my.ini檔案刪除掉,再重新安裝服務,啟動mysql服務,看看能不能正常啟動即可,實驗證明,是可以正常啟動的。

 

 

[plain] view plain copy 在CODE上查看代碼片派生到My Code片 01.C:\Program Files\MySQL\MySQL Server 5.6\bin>net stop mysql  02.MySQL 服務正在停止.  03.MySQL 服務已成功停止。  04.  05.C:\Program Files\MySQL\MySQL Server 5.6\bin>mysqld --remove  06.Service successfully removed.  07.  08.C:\Program Files\MySQL\MySQL Server 5.6\bin>mysqld --install  09.Service successfully installed.  10.  11.C:\Program Files\MySQL\MySQL Server 5.6\bin>net start mysql  12.MySQL 服務正在啟動 .  13.MySQL 服務已經啟動成功。 

 

 

終於大功告成!!!看看能不能串連:

 

 

[plain] view plain copy 在CODE上查看代碼片派生到My Code片 01.C:\Program Files\MySQL\MySQL Server 5.6\bin>mysql -uroot  02.Welcome to the MySQL monitor.  Commands end with ; or \g.  03.Your MySQL connection id is 3  04.Server version: 5.6.10 MySQL Community Server (GPL)  05.  06.Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.  07.  08.Oracle is a registered trademark of Oracle Corporation and/or its  09.affiliates. Other names may be trademarks of their respective  10.owners.  11.  12.Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clear the current input statement.  13.  14.mysql> 

 

 

完全沒有問題。

 

另外,mysql預設的root使用者是沒有設定密碼的,我們可以修改root使用者密碼,方法如下:

1、直接在cmd命令列,不需要進入mysql

 

[plain] view plain copy 在CODE上查看代碼片派生到My Code片 01.mysqladmin -u root password ‘新密碼‘ 

 

 

2、在mysql中,一定要串連到某個資料庫

 

[plain] view plain copy 在CODE上查看代碼片派生到My Code片 01.mysql> use mysql  02.Database changed  03.mysql> update user set password=password(‘新密碼‘) where user=‘root‘;  04.Query OK, 3 rows affected (0.00 sec)  05.Rows matched: 3  Changed: 3  Warnings: 0  06.  07.mysql> flush privileges;  08.Query OK, 0 rows affected (0.00 sec) 

MySQL安裝常見問題(找不到檔案,系統服務無法啟動...)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.