首頁 >資料庫 >mysql教程 >詳解MACOS中忘記MySQL root密碼的解決方法

詳解MACOS中忘記MySQL root密碼的解決方法

黄舟
黄舟原創
2017-03-23 13:37:101330瀏覽

這篇文章主要向大家講述的是在MAC系統中MySQL重設root密碼的實際操作步驟,在實際操作中忘記MySQL root密碼時常會發生的,下面就是本教程的詳細內容介紹。

MySQL 是一個關聯式資料庫管理系統,由瑞典MySQL AB公司開發,目前屬於 Oracle 旗下產品。 MySQL 是最受歡迎的關聯式資料庫管理系統之一,在 WEB 應用方面,MySQL是最好的 RDBMS (Relational Database Management System,關聯式資料庫管理系統) 應用軟體。

MySQL是一種關聯式資料庫管理系統,關聯式資料庫將資料保存在不同的表中,而不是將所有資料放在一個大倉庫內,這樣就增加了速度並提高了靈活性。

MySQL所使用的 SQL 語言是用於存取資料庫的最常用標準化語言。 MySQL 軟體採用了雙授權政策,分為社群版和商業版,由於其體積小、速度快、總體擁有成本低,尤其是開放原始碼這一特點,一般中小型網站的開發都選擇 MySQL 作為網站資料庫。

Mac 安裝完 MySQL 之後,軟體會產生一個預設密碼給我們。但是,當我使用Navicat來建立連線是卻提示密碼失效,無奈,只能修改資料庫預設密碼。

接下來,記錄整個root密碼修改過程。

在開始下面的步驟之前必須先停止mysql服務!

 cd /usr/local/mysql/bin/
 sudo su
 ./mysqld_safe --skip-grant-tables & //这一步的作用是跨过权限验证
 ./mysql -uroot //以root身份登录,因为第三步的原因不需要密码了。这之后的命令就不需要在前面加./mysql了
 use mysql;
 update user set authentication_string='123456' where User='root';

網路上流傳的版本全部是set password =‘' ,這樣寫一直報錯說 ‘password'列不存在!

最後用sql指令查出來只有authentication_string字段,並沒有password欄位。

上一步執行之後本來以為已經可以登入了,可是navicat連線測試時出現了:

ERROR 1862 (HY000): Your password has expired. To log in you must
change it using a client that supports expired passwords.

所以還需要下面步驟

 cd /usr/local/mysql/bin/
 sudo su
 ./mysql -uroot -p123456
 set password = password('123456')

使用者名稱:root,密碼:12345

修改成功

補充:雖然上面成功修改,但還是走了不少彎路,上文只是記錄整個過程,下面我們把最簡單有效的方法來總結下

這個過程是心酸的,網上的資料多如狗,關鍵是各有各的錯法,嘗試了半天沒一個對的,在即將打破心理防線,要去翻MySQL文件的時候,我改成功了。沒有一篇文章告訴我完整的答案,我是參考了好幾個攻略,閉門造出來的車。給自己按讚。廢話不多說,一步一步跟我走。

1.關閉mysql伺服器

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

也可以在系統偏好設定中有個MySQL裡關閉。

2.cd /usr/local/mysql/bin    進入目錄

##3.sudo su 取得權限

4. ./mysqld_safe --skip-grant-tables & 重啟伺服器

5.重啟個終端,

設定短指令:

alias mysql=/usr/local/mysql/bin/mysql

6.輸入mysql 進入mysql

指令模式

7.use mysql進入

mysql資料庫

#8.

flush privileges;大概就是取得權限,要不要讓你改。

9.

set password for 'root'@'localhost'=password('新密碼'); 完成修改

10.我靠終於改完了。

以上是詳解MACOS中忘記MySQL root密碼的解決方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn