數據庫之mac上mysql root密碼忘記或權限錯誤的解決辦法

最近想在mac上裝一個mysq,但是各類坑,網上搜了N多,就是不行,最後在CSDN上一位叫chris-gardner的博客裏找到告終果(侵刪)mysql

下載mysql的安裝包,安裝完成後,它會隨機的給你一個本地root的密碼,可是臭長臭難記,root@localhost:後面的就是密碼,太特麼噁心了sql


在終端執行mysql -uroot -p後是這樣的:數據庫


輸入進去的密碼壓根就不顯示,輸入N多遍,總是提示安全

ERROR 1045: Access denied for user: 'root@localhost' (Using 
password: NO)12複製代碼

或者bash

ERROR 1045: Access denied for user: 'root@localhost' (Using 
password: YES)12複製代碼

解決上面錯誤的方法之一就是從新設置咱們的mysql的root密碼。服務器

1.在終端輸入下面命令關閉正在運行的mysql,若是msyql沒有運行能夠跳過,須要輸入mysql的密碼。若是mysql密碼忘記了,能夠直接經過系統偏好設置裏面關閉!ui

/usr/local/mysql/bin/mysqladmin -u root -p shutdown1複製代碼

系統便好設置關閉如圖
這裏寫圖片描述spa

2.進入mysql的bin目錄執行以下命令3d

$ cd /usr/local/mysql/bin
$ sudo su  12複製代碼

以後輸入管理員密碼會看到code

sh-3.2# 1複製代碼

以後咱們輸入下面命令以安全模式運行mysql

sh-3.2#./mysqld_safe --skip-grant-tables &1複製代碼

運行結束咱們打開mac的系統偏好設置,選擇msyql,咱們會發現Mysql從新運行了如圖

這裏寫圖片描述

回到終端點擊Command + N 從新打開一個終端
輸入

mysql -u -root1複製代碼

這時候咱們不須要密碼就能進入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>123456789101112複製代碼

注意:這裏有的時候會進不來,這個時候能夠嘗試重啓mac電腦,具體緣由我也不清楚。

3.修改root密碼
首先執行下面命令爲了可以修改任意的密碼

mysql> FLUSH PRIVILEGES;1複製代碼

以後執行修改密碼的SQL語句,這裏的qsd19001008能夠替換你本身想要修改的密碼

mysql> SET PASSWORD FOR root@'localhost' = PASSWORD('qsd19001008');1複製代碼

若是你的子賬號能夠登陸msyql你也能夠嘗試下面的方法

mysql>UPDATE mysql.user SET Password=PASSWORD('newpwd') WHERE User='root';1複製代碼

mysql>USE mysql
   UPDATE user SET Password = PASSWORD('newpwd')
   WHERE Host = 'localhost' AND User = 'root';123複製代碼

又或者

mysql>USE mysql
   UPDATE user SET Password = PASSWORD('newpwd')
   WHERE Host = '%' AND User = 'root';123複製代碼

最後刷新

FLUSH PRIVILEGES;1複製代碼

Control+D推出mysql,而後關閉安全模式數據庫,這裏要輸入你剛纔設置數據密碼就好啦

/usr/local/mysql/bin/mysqladmin -u root -p shutdown1複製代碼

到目前爲止你就找回了你mysql的密碼啦

正常啓動mysql數據庫,輸入剛纔設置的密碼qsd19001008

/usr/local/mysql/share/mysql.server start1複製代碼

若是上面的命令不執行,同理到系統偏好裏開啓mysql服務器。

最後執行下面的終端命令,而後輸入剛纔設置的密碼qsd19001008咱們就能夠正常進入mysql啦

$mysql -u root -p複製代碼
相關文章
相關標籤/搜索