Mac 登錄 Mysql 報錯ERROR 1045

Mac 登錄 Mysql 報錯ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

環境

Mysql版本:5.7.12
操作系統:OSX 10.14.6 (18G84)
安裝文件:.dmg 下載安裝包 (我選擇了 macOS 10.14(x86,64位),DMG Archive的版本下載)

mysql-5.7.26-macos10.14-x86_64.dmg(注意5.7跟之前的字段有些不同,下面會說)

Step 1

關閉mysql服務。無論你有沒有開啓mysql服務,保險起見都要運行一下以下命令。
sudo /usr/local/mysql/support-files/mysql.server stop
(注:我這裏報錯了:ERROR! MySQL server PID file could not be found! 我直接在 系統偏好設置-->其他(在最下面)中進入MySQL-->關閉就夠了,第二步一樣的)

Step 2

安全模式啓動mysql。

sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables

(第二步貌似還是不好使,按照下面:

1、在終端中輸入添加MySQL路徑的命令:

   PATH="$PATH":/usr/local/mysql/bin    
注:只要發現 這種報錯 mysql: command not found 就用PATH這行代碼,再接着輸入你之前報錯命令行就可以了

2、得到管理員權限

  sudo su  (輸入你筆記本的密碼)

3、越過權限表,直接登陸MySQL

​ mysqld_safe --skip-grant-tables --skip-networking &

安全模式下,可以直接打開mysql命令行窗口,而不需要密碼。

Step 3

新建一個終端,修改root密碼

此處注意,5.7較之之前的版本,mysql.user表裏面的password字段改成了:authentication_string

逐一輸入以下命令,修改root密碼並退出。如果還接着用password,會報錯,找不到這個字段,新密碼:12345

mysql -u root
UPDATE mysql.user SET authentication_string=PASSWORD('12345') WHERE User='root';
12345換成你的新密碼。運行完以上命令後,root的密碼就修改成你設置的密碼了

測試

運行以下命令測試密碼是否修改成功。

mysql -u root -p

然後輸入你新設置的密碼。

如果輸入無誤,應該會出現mysql命令行窗口,如下:

mysql> 

參考

[Mysql修改root用戶密碼 For Mac 報錯:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)](
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章