筆者本人在裝了MySQL5.7 一段時間后,突然有一天數據庫連接不上了。在網上找了教程說去任務管理器的服務里面找MySQL的服務並且啟動,然而,根本沒有找到MySQL服務的影子,
這時候執行以下操作就行了,記住!!!以下命令均在MySQL安裝目錄的bin目錄下運行,且以管理員身份:
1.安裝MySQL服務
然后我去服務里找MySQL,吖!真找到了,
鼠標右鍵啟動,一頓操作猛如虎,結果顯示啟動不了 !
2. 遂在谷歌上奮戰了大半個小時終於解決了。剛開始網上找的教程(沒解決):
(1)仍是在MySQL安裝目錄的bin目錄下,執行mysqld -initislize
(2)再執行net start mysql
然並卵,
看了看錯誤提示,我才發現我的MySQL安裝的根目錄下沒有data這個文件夾,又在谷歌上找教程,終於解決了。
在mysql5.7以上版本中默認沒有一個data目錄,即沒有初始化服務。需要先初始化mysql才可以啟動服務,否則會報 “服務沒有報告任何錯誤”,啟動失敗唄。
正確的步驟是:
(1)先在mysql的bin目錄下執行mysqld --initialize-insecure (不設置root密碼,建議使用)命令,第一次執行這個命令會等待的時間稍微長了一些,並且控制台沒有任何返回結果。可以看到mysql的根目錄下會多出一個data文件夾,里面一堆文件。
(2)然后執行上述兩條命令,
1)仍是在MySQL安裝目錄的bin目錄下,執行mysqld -initislize
2)再執行net start mysql
這時候就成功了!
(3)
1)mysql安裝完了,可高興的輸入“mysql -u root -p” 回車,居然沒有進去,出了個“ERROR 1045 Access denied for ,,,,,,,,,”
原因是新版的mysql為了安全性,默認是有密碼的。
解決方法:
mysql默認安裝會有密碼生成,密碼文件直接寫在 log-error 日志文件中(在5.6版本中是放在 root/.mysql_secret 文件里,更加隱蔽,不熟悉的話可能會無所適從),
MySQL5.7在安裝完后,第一次啟動時,會在root目錄下生產一個隨機的密碼,文件名為.mysql_secret
登錄時需要用隨機密碼登錄,然后通過以下命令修改密碼
SET PASSWORD = PASSWORD('new password');