有mysql文件怎么运行不了_MySQL安装常见问题(找不到文件,系统服务无法启动...)...
在安裝mysql時總是會遇到問題,每次重新安裝都會花很多時間來排查。在網(wǎng)上其實有很多相關(guān)的文章,但很多都只講了方法,但沒講具體細節(jié)問題,導(dǎo)致無法解決問題。其實有時候知道問題的原因,但總是因為一些細節(jié)問題沒有注意到,反復(fù)的嘗試,浪費了很多時間。現(xiàn)在把我安裝過程中遇到的問題以及該注意的問題記錄下來。
環(huán)境:windows7
mysql版本:mysql-5.6.10-win32
如果是默認安裝,那么mysql會被安裝到目錄C:\Program Files\MySQL\MySQL Server 5.6中,特別要注意該目錄,下面會說明原因。
一般情況下,安裝完mysql后,我們都希望直接可以連接使用,但是實際情況卻不一定能這樣順利。安裝完成后,直接在CMD中輸入命令:
[plain] view plain copy 在CODE上查看代碼片派生到我的代碼片 01.C:\Windows\system32>mysql -uroot? 02.'mysql' 不是內(nèi)部或外部命令,也不是可運行的程序或批處理文件。
這是由于沒有配置環(huán)境變量導(dǎo)致的,當然也可以先切換到mysql的安裝目錄再執(zhí)行命令,不過那不是麻煩么。
首先配置環(huán)境變量,把mysql所在目錄的bin目錄添加到path環(huán)境變量中(如何設(shè)置環(huán)境變量的具體操作省略,可以google一大把)。
配置好環(huán)境變量后,該可以連接mysql了吧?試試看mysql -uroot,咦,怎么回事:
[plain] view plain copy 在CODE上查看代碼片派生到我的代碼片 01.C:\Windows\system32>mysql -uroot? 02.ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)
什么原因?難道是服務(wù)沒有啟動,來啟動服務(wù)看看:
[plain] view plain copy 在CODE上查看代碼片派生到我的代碼片 01.C:\Windows\system32>net start mysql? 02.服務(wù)名無效。? 03.? 04.請鍵入 NET HELPMSG 2185 以獲得更多的幫助。
居然服務(wù)名無效?打開windows服務(wù)一看,原來是安裝完mysql后根本沒有安裝mysql服務(wù),需要我們手動安裝。
安裝mysql的服務(wù)很“簡單”,在命令行中輸入:
[html] view plain copy 在CODE上查看代碼片派生到我的代碼片 01.C:\Users\MikanMu>mysqld --install? 02.Install/Remove of the Service Denied!
咦,怎么回事?這是由于沒有權(quán)限造成的,需要在啟動命令行時以管理員身份運行才行。關(guān)閉當前cmd窗口重新以管理員身份運行:
[plain] view plain copy 在CODE上查看代碼片派生到我的代碼片 01.C:\Windows\system32>mysqld --install? 02.Service successfully installed.
提示成功安裝。很好,安裝完服務(wù)后,啟動起來看看:
[plain] view plain copy 在CODE上查看代碼片派生到我的代碼片 01.C:\Windows\system32>net start mysql? 02.發(fā)生系統(tǒng)錯誤 2。? 03.? 04.系統(tǒng)找不到指定的文件。
我了個去,這又是怎么回事?上網(wǎng)各種查,都說是需要在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、安裝目錄下由于權(quán)限的原因不能直接建立文件,需要在其他地方建立并添加好相應(yīng)的配置后,再拷貝到安裝目錄C:/Program Files/MySQL/MySQL Server 5.6下。
2、網(wǎng)上有的說配置中的目錄分隔符必須是正斜杠‘/’,但是經(jīng)過實驗,‘/’、‘\’、‘\\’都沒有問題,都是可以的。
3、basedir這個配置是mysql的安裝目錄,記住,一定是要配置到C:/Program Files/MySQL/MySQL Server 5.6這個目錄,不能到C:/Program Files/MySQL就完了。
4、my.ini文件的編碼必須是英文編碼(如windows中的ANSI),不能是UTF-8或GBK等。
上面操作完成后(一定要注意細節(jié)),再來啟動一下服務(wù):
[plain] view plain copy 在CODE上查看代碼片派生到我的代碼片 01.C:\Windows\system32>net start mysql? 02.發(fā)生系統(tǒng)錯誤 2。? 03.? 04.? 05.系統(tǒng)找不到指定的文件。
怎么還是報這個錯?難道不是由于配置的原因?對,不是由于上面的配置的問題,但上面的配置添加后也沒有錯。那是什么原因?
這里是最需要注意的地方,在安裝mysql服務(wù)時,一定要切換到mysql安裝目錄的bin目錄下,不管你是否配置環(huán)境變量,否則在安裝完后啟動服務(wù)還是會報上面的錯誤。
切換到bin目錄后,先刪除前面安裝的mysql服務(wù)(刪除服務(wù)不一定要到bin目錄),再重新在bin目錄下安裝mysql服務(wù),然后啟動: 一定要cd :進入bin目錄即使你配了環(huán)境變量
[plain] view plain copy 在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 服務(wù)正在啟動 .? 13.MySQL 服務(wù)已經(jīng)啟動成功。
哇,終于成功了!!
現(xiàn)在來驗證一下不需要添加my.ini文件,也是可以正常啟動服務(wù)的,只要是在bin目錄下安裝的服務(wù)就行。只需要停止mysql服務(wù),把服務(wù)刪除后,再把mysql安裝目錄下的my.ini文件刪除掉,再重新安裝服務(wù),啟動mysql服務(wù),看看能不能正常啟動即可,實驗證明,是可以正常啟動的。
[plain] view plain copy 在CODE上查看代碼片派生到我的代碼片 01.C:\Program Files\MySQL\MySQL Server 5.6\bin>net stop mysql? 02.MySQL 服務(wù)正在停止.? 03.MySQL 服務(wù)已成功停止。? 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 服務(wù)正在啟動 .? 13.MySQL 服務(wù)已經(jīng)啟動成功。
終于大功告成!!!看看能不能連接:
[plain] view plain copy 在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用戶是沒有設(shè)置密碼的,我們可以修改root用戶密碼,方法如下:
1、直接在cmd命令行,不需要進入mysql
[plain] view plain copy 在CODE上查看代碼片派生到我的代碼片 01.mysqladmin -u root password '新密碼'
2、在mysql中,一定要連接到某個數(shù)據(jù)庫
[plain] view plain copy 在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)
總結(jié)
以上是生活随笔為你收集整理的有mysql文件怎么运行不了_MySQL安装常见问题(找不到文件,系统服务无法启动...)...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CUDA Libraries简介
- 下一篇: django使用mysql原始语句,Dj