mac下mysql 1045 (28000): Access denied for user 'root'@'localhost' (using password:


新入了mac pro,安裝好mysql后,用終端進入mysql遇到個問題: 1045 (28000): Access denied for user 'root'@'localhost' (using password: N

講道理,我還設密碼呢,但是第一次進來就報錯,goo了一下大概原因可能是mysql創建的時候給自動分配了密碼。

不管分配沒分配密碼,反正一般的解決方法就是:先跳過驗證,再重設密碼。

 

具體步驟:

1. 先關閉MySQL服務;
執行

sudo /usr/local/mysql/support-files/mysql.server stop

 

或者在系統偏好設置中關閉MySQL服務(如果電腦有設置密碼的,此處會要求輸入計算機密碼)

2.去mysql文件夾里設置跳過驗證(3步)

先進入mysql文件夾:
cd /usr/local/mysql/bin/

 

設置權限,如果電腦有設置密碼(開機和解鎖計算機時要求輸入的那個密碼),在輸入此句后會要求輸入密碼。輸入密碼后按回車確認
sudo su
跳過驗證
./mysqld_safe --skip-grant-tables &

3.開始設置我們自己的新密碼

打開一個新的終端,輸入

 /usr/local/mysql/bin/mysql -u root -p

然后會要求輸入密碼,因為此時根本沒有密碼,所以直接點確認,顯示以下信息表示成功進入mysql(與windows系統一樣)

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 20
Server version: 5.7.11

Copyright (c) 2000, 2016, 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> 

現在設置新密碼,注意要打引號:

UPDATE mysql.user SET authentication_string=PASSWORD('cc77') where User='root';

回車確認,顯示以下信息表示修改密碼成功

Query OK, 1 row affected, 1 warning (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 1

然后刷新一下,讓上述修改生效:

flush privileges;

刷新成功會顯示以下信息:

Query OK, 0 rows affected (0.01 sec)

4.重啟mysql,用新密碼登錄,可以登錄成功了。但是進行其他mysql操作,會顯示:

ERROR 1820 (HY000) :You must reset your password using AlTER USER statement before executing this statement.

意思是還要再重設一遍密碼,直接輸入:

SET PASSWORD = PASSWORD('cc77');

修改成功后,終端會顯示:

Query OK, 0 rows affected, 1 warning (0.01 sec)

至此,修改密碼徹底完成,可以做任何相關sql操作了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM