轉(zhuǎn)子 http://blog.csdn.net/u014410695/article/details/50630233
當(dāng)我們通過終端連接MySQL數(shù)據(jù)庫時候我們會看到這樣的信息
ERROR 1045: Access denied for user: 'root@localhost' (Using
password: NO)
或者
ERROR 1045: Access denied for user: 'root@localhost' (Using
password: YES)
解決上面錯誤的方法之一就是重新設(shè)置我們的mysql的root密碼。
1.在終端輸入下面命令關(guān)閉正在運行的mysql,如果msyql沒有運行可以跳過,需要輸入mysql的密碼最疆。如果mysql密碼忘記了,可以直接通過系統(tǒng)偏好設(shè)置里面關(guān)閉芥映!
/usr/local/mysql/bin/mysqladmin -u root -p shutdown
系統(tǒng)便好設(shè)置關(guān)閉如圖
這里寫圖片描述
2.進入mysql的bin目錄執(zhí)行如下命令
$ cd /usr/local/mysql/bin
$ sudo su
之后輸入管理員密碼會看到
sh-3.2#
之后我們輸入下面命令以安全模式運行mysql
sh-3.2#./mysqld_safe --skip-grant-tables &
運行結(jié)束我們打開mac的系統(tǒng)偏好設(shè)置往扔,選擇msyql缎讼,我們會發(fā)現(xiàn)Mysql重新運行了如圖
這里寫圖片描述
回到終端點擊Command + N 重新打開一個終端
輸入
mysql -u -root
這時候我們不需要密碼就能進入mysql
Your MySQL connection id is 57
Server version: 5.7.10 MySQL Community Server (GPL)
Copyright (c) 2000, 2015, 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>
注意:這里有的時候會進不來菌瘫,這個時候可以嘗試重啟mac電腦洋闽,具體原因我也不清楚。
3.修改root密碼
首先執(zhí)行下面命令為了能夠修改任意的密碼
mysql> FLUSH PRIVILEGES;
之后執(zhí)行修改密碼的SQL語句,這里的qsd19001008可以替換你自己想要修改的密碼
mysql> SET PASSWORD FOR root@'localhost' = PASSWORD('qsd19001008');
如果你的子帳號可以登錄msyql你也可以嘗試下面的方法
mysql>UPDATE mysql.user SET Password=PASSWORD('newpwd') WHERE User='root';
或
mysql>USE mysql
UPDATE user SET Password = PASSWORD('newpwd')
WHERE Host = 'localhost' AND User = 'root';
又或者
mysql>USE mysql
UPDATE user SET Password = PASSWORD('newpwd')
WHERE Host = '%' AND User = 'root';
最后刷新
FLUSH PRIVILEGES;
Control+D推出mysql突梦,然后關(guān)閉安全模式數(shù)據(jù)庫,這里要輸入你剛才設(shè)置數(shù)據(jù)密碼就好啦
/usr/local/mysql/bin/mysqladmin -u root -p shutdown
到目前為止你就找回了你mysql的密碼啦
正常啟動mysql數(shù)據(jù)庫羽利,輸入剛才設(shè)置的密碼qsd19001008
/usr/local/mysql/share/mysql.server start
如果上面的命令不執(zhí)行宫患,同理到系統(tǒng)偏好里開啟mysql服務(wù)器。
最后執(zhí)行下面的終端命令这弧,然后輸入剛才設(shè)置的密碼qsd19001008我們就可以正常進入mysql啦
$mysql -u root -p