2026-06-06 mysql ERROR 1045 (28000)
2026-06-06 mysql ERROR 1045 (28000)
我:
ERROR 1045 (28000): Access denied for user ‘root‘@’localhost’ (using password: YES)
???MacBook-Air:~ ???$ sudo mysql -u root -p
GPT:
ERROR 1045 (28000) 的錯誤表明您在嘗試使用 root 使用者進入 MySQL 時遇到了訪問被拒的問題。這通常是因為您輸入的密碼不正確,或者 root 使用者的帳戶有權限設置問題。
以下是一些解決此問題的步驟:
1. 使用 sudo 嘗試進入 MySQL
您可以通過使用 sudo 命令,以獲取管理員權限進入 MySQL,這樣可以避開一些訪問限制。請確保在終端中以正確的方式輸入以下命令:
1 | sudo mysql -u root |
這樣可以繞過輸入密碼的過程,直接使用 root 權限進入 MySQL。如果這樣可以進入,則表示可能是 root 使用者的密碼配置問題。
2. 使用無密碼方式登錄
如果您使用 sudo 也無法進入,可能是 root 使用者的密碼配置有問題,可以通過以下步驟重置密碼:
步驟 1:停止 MySQL 服務
您首先需要停止 MySQL 服務,具體命令如下(取決於您的安裝方式):
1 | sudo brew services stop mysql |
或者:
1 | sudo /usr/local/mysql/support-files/mysql.server stop |
步驟 2:安全模式啟動 MySQL
然後,您需要使用 不檢查權限的模式(safe mode)來啟動 MySQL,以便能夠不使用密碼進入 MySQL:
1 | sudo mysqld_safe --skip-grant-tables & |
這會在跳過權限檢查的模式下啟動 MySQL,使您可以重置 root 密碼。
步驟 3:進入 MySQL 並重置 root 密碼
現在您可以不需要密碼進入 MySQL:
1 | mysql -u root |
進入 MySQL 提示符後,使用以下 SQL 指令來重置 root 的密碼:
1 | USE mysql; |
記得將 新密碼 替換為您希望設置的密碼。然後輸入以下命令退出:
1 | exit; |
步驟 4:重新啟動 MySQL 服務
完成密碼重置後,您需要重新啟動 MySQL 服務:
1 | sudo brew services start mysql |
或者:
1 | sudo /usr/local/mysql/support-files/mysql.server start |
步驟 5:使用新密碼登錄
現在您可以使用新設置的密碼嘗試再次登錄:
1 | mysql -u root -p |
系統會提示輸入新密碼,輸入正確後應該能成功登錄。
3. 檢查 MySQL 的配置文件
如果您仍然無法登錄,可能是 MySQL 的配置文件有一些設置導致權限出現問題。您可以檢查 my.cnf 文件(通常位於 /etc/mysql/my.cnf 或 /usr/local/mysql/my.cnf)中的相關設置,特別是 bind-address 或 skip-grant-tables 等選項,確保它們設置正確。
小結
- 嘗試使用
sudo來進入 MySQL,跳過密碼檢查。 - 如果無法進入,使用安全模式啟動 MySQL 並重置 root 密碼。
- 檢查 MySQL 配置文件中的設置,以排除其他訪問問題。
這些步驟應該能夠幫助您解決 ERROR 1045 的問題。如果問題依然存在,請告訴我更多詳細信息,我會繼續幫助您!
我 :
???-Air:~ root# which mysql
/usr/local/mysql/bin/mysql
GPT:
看起來您的 MySQL 安裝在 /usr/local/mysql/bin/mysql 路徑下。這意味著 MySQL 可執行文件的路徑是 **/usr/local/mysql/bin/mysql**。
如果您嘗試進入 MySQL,但仍然遇到 ERROR 1045 (28000): Access denied,請參考以下解決步驟:
1. 使用 MySQL 完整路徑進入
可以嘗試使用完整路徑進入 MySQL,這樣可以確保使用的是正確版本的 MySQL:
1 | sudo /usr/local/mysql/bin/mysql -u root -p |
然後,根據提示輸入密碼。
2. 確認 MySQL 是否已經啟動
MySQL 服務需要正常運行才能連接。如果您無法連接,可能是 MySQL 服務未啟動。請使用以下命令來啟動 MySQL:
1 | sudo /usr/local/mysql/support-files/mysql.server start |
然後再次嘗試使用完整路徑連接。
3. 重置 MySQL Root 密碼
如果密碼仍然無法使用,可以嘗試重置 root 密碼,具體步驟如下:
步驟 1:停止 MySQL 服務
首先需要停止 MySQL 服務:
1 | sudo /usr/local/mysql/support-files/mysql.server stop |
步驟 2:使用安全模式啟動 MySQL
在安全模式下啟動 MySQL,不檢查權限:
1 | sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables & |
這樣可以跳過權限檢查,並允許您無需密碼登錄 MySQL。
步驟 3:無密碼進入 MySQL
使用以下命令無需密碼進入 MySQL:
1 | sudo /usr/local/mysql/bin/mysql -u root |
步驟 4:重置 root 密碼
在 MySQL 提示符中執行以下命令來重置 root 密碼:
1 | USE mysql; |
將 新密碼 替換為您想要設置的密碼。
步驟 5:重新啟動 MySQL 服務
輸入 exit 退出 MySQL 提示符,然後重新啟動 MySQL 服務:
1 | sudo /usr/local/mysql/support-files/mysql.server start |
步驟 6:使用新密碼登錄
現在可以使用新密碼登錄 MySQL:
1 | sudo /usr/local/mysql/bin/mysql -u root -p |
系統會提示您輸入新設置的密碼。
小結
- 確認使用正確的 MySQL 可執行文件路徑
/usr/local/mysql/bin/mysql。 - 確保 MySQL 服務已經啟動。
- 如果遇到訪問被拒的問題,使用安全模式進入並重置 root 密碼。
這些步驟應該可以幫助您解決連接 MySQL 時的問題。如果還有其他問題,請隨時告訴我。