文章鏈接?
昨天學(xué)數(shù)據(jù)庫,安裝的時(shí)候完全沒看到設(shè)置密碼的地方…?
然后登陸不進(jìn)去,一直出現(xiàn)ERROR 1045: Access denied for user: ‘root@localhost’報(bào)錯(cuò)?
找了一晚上資料終于找到一個(gè)可行的解決辦法,分享一個(gè)。
1.1 打開系統(tǒng)偏好設(shè)置,如果你的電腦已經(jīng)安裝mysql,會在下面有一個(gè)mysql的按鈕。點(diǎn)進(jìn)去關(guān)閉mysql服務(wù)。?
1.2 打開一個(gè)終端,輸入一下命令
$cd/usr/local/mysql/bin$sudosu
1
2
然后便可以看到終端命令變成這個(gè)開頭: sh-3.2#?
輸入一下命令
sh-3.2#./mysqld_safe --skip-grant-tables &
1
之后邊可以以安全模式進(jìn)入數(shù)據(jù)庫了。
1.3 現(xiàn)在打開一個(gè)新的終端?
輸入以下命令:
mysql-u-root
1
然后便會發(fā)現(xiàn)你不需要密碼就進(jìn)入數(shù)據(jù)庫了。
現(xiàn)在可以看到終端命令變成以mysql開頭。?
修改密碼這一部分在網(wǎng)上找了很多教程都不對,應(yīng)該是因?yàn)榘姹静煌膯栴}。?
我裝的最新的mysql,測試以后一下這個(gè)方法可行。?
接著之前的步驟,在mysql命令下。輸入以下命令
UPDATEmysql.userSETauthentication_string = PASSWORD('MyNewPass')WHEREUser='root'ANDHost ='localhost';FLUSH PRIVILEGES;
1
2
3
這樣就成功更改密碼了。?
之后退出mysql,輸入以下命令退出安全模式。
/usr/local/mysql/share/mysql.server start
1
然后在終端輸入
$mysql-uroot-p
1
進(jìn)入數(shù)據(jù)庫。
這個(gè)時(shí)候我還遇到一個(gè)問題,就是顯示說我的代碼過期了。?
錯(cuò)誤如下:
#1862- Your passwordhasexpired.Tologinyou must change itusinga client that supports expired passwords.
1
解決這個(gè)問題只需要重新更改一下密碼即可。?
在終端輸入以下命令,會讓你輸入老密碼和新密碼。
/usr/local/mysql/bin/mysqladmin-uroot-ppasswordEnter password:Newpassword:Confirmnewpassword:
1
2
3
4
之后再用新密碼進(jìn)入mysql就大功告成啦!