MACOS中忘記MySQL root密碼的解決方案
MySQL 是一個(gè)關(guān)系型數(shù)據(jù)庫管理系統(tǒng),由瑞典MySQL AB公司開發(fā),目前屬于 Oracle 旗下產(chǎn)品。MySQL 是最流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)之一,在 WEB 應(yīng)用方面,MySQL是最好的 RDBMS (Relational Database Management System,關(guān)系數(shù)據(jù)庫管理系統(tǒng)) 應(yīng)用軟件。
MySQL是一種關(guān)系數(shù)據(jù)庫管理系統(tǒng),關(guān)系數(shù)據(jù)庫將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在一個(gè)大倉庫內(nèi),這樣就增加了速度并提高了靈活性。
MySQL所使用的 SQL 語言是用于訪問數(shù)據(jù)庫的最常用標(biāo)準(zhǔn)化語言。MySQL 軟件采用了雙授權(quán)政策,分為社區(qū)版和商業(yè)版,由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點(diǎn),一般中小型網(wǎng)站的開發(fā)都選擇 MySQL 作為網(wǎng)站數(shù)據(jù)庫。
Mac 安裝完 MySQL 之后,軟件會生成一個(gè)默認(rèn)密碼給我們。但是,當(dāng)我使用Navicat來建立連接是卻提示密碼失效,無奈,只能修改數(shù)據(jù)庫默認(rèn)密碼。
接下來,記錄整個(gè)root密碼修改過程。
在開始下面的步驟之前必須先停止mysql服務(wù)!
cd /usr/local/mysql/bin/ sudo su ./mysqld_safe --skip-grant-tables & //這一步的作用是跨過權(quán)限驗(yàn)證 ./mysql -uroot //以root身份登錄,因?yàn)榈谌降脑虿恍枰艽a了。這之后的命令就不需要在前面加./mysql了 use mysql; update user set authentication_string='123456' where User='root';
網(wǎng)上流傳的版本全部是set password =‘’ ,這樣寫一直報(bào)錯(cuò)說 ‘password’列不存在!
最終用sql命令查出來只有authentication_string字段,并沒有password字段。
上一步執(zhí)行之后本來以為已經(jīng)可以登錄了,可是navicat連接測試時(shí)出現(xiàn)了:
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
修改成功
補(bǔ)充:雖然上面成功修改,但還是走了不少彎路,上文只是記錄整個(gè)過程,下面我們把最簡單有效的方法來總結(jié)下
這個(gè)過程是心酸的,網(wǎng)上的資料多如狗,關(guān)鍵是各有各的錯(cuò)法,嘗試了半天沒一個(gè)對的,在即將打破心理防線,要去翻MySQL文檔的時(shí)候,我改成功了。沒有一個(gè)文章告訴我完整的答案,我是參考了好幾個(gè)攻略,閉門造出來的車。給自己點(diǎn)贊。廢話不多說,一步一步跟我走。
1.關(guān)閉mysql服務(wù)器
sudo /usr/local/mysql/support-files/mysql.server stop
也可以在系統(tǒng)偏好里有個(gè)MySQL里關(guān)閉。
2.cd /usr/local/mysql/bin 進(jìn)入目錄
3.sudo su 獲取權(quán)限
4. ./mysqld_safe --skip-grant-tables & 重啟服務(wù)器
5.重開個(gè)終端,
配置短命令:
alias mysql=/usr/local/mysql/bin/mysql
6.輸入mysql 進(jìn)入mysql命令模式
7.use mysql進(jìn)入mysql數(shù)據(jù)庫
8.flush privileges;大概就是獲取權(quán)限,要不他不讓你改。
9.set password for 'root'@'localhost'=password('新密碼'); 完成修改
10.終于改完了。
好了,方法教給大家了,希望對大家能夠有所幫助
相關(guān)文章
MySQL數(shù)據(jù)庫中外鍵(foreign?key)用法詳解
這篇文章主要給大家介紹了關(guān)于MySQL數(shù)據(jù)庫中外鍵(foreign?key)的相關(guān)資料,MySQL 外鍵約束可以用來保證表與表之間的關(guān)系完整性,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-10-10
linux安裝兩個(gè)mysql(8.0和5.7),并同時(shí)使用方式
這篇文章主要介紹了如何在CentOS?7上下載和安裝MySQL?8.0和MySQL?5.7.30,并詳細(xì)描述了安裝步驟,包括解壓、配置、初始化和啟動(dòng)等過程2024-12-12
MySQL中replace into與replace區(qū)別詳解
本文主要介紹了MySQL中replace into與replace區(qū)別詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08
navicat連接mysql時(shí)出現(xiàn)1045錯(cuò)誤的解決方法
這篇文章主要為大家詳細(xì)介紹了navicat連接mysql時(shí)出現(xiàn)1045錯(cuò)誤的解決方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-02-02
MySQL分表自動(dòng)化創(chuàng)建的實(shí)現(xiàn)方案
在數(shù)據(jù)庫應(yīng)用場景中,隨著數(shù)據(jù)量的不斷增長,單表存儲數(shù)據(jù)可能會面臨性能瓶頸,例如查詢、插入、更新等操作的效率會逐漸降低,分表是一種有效的優(yōu)化策略,它將數(shù)據(jù)分散存儲在多個(gè)表中,從而提高數(shù)據(jù)庫的性能和可維護(hù)性,本文介紹了MySQL分表自動(dòng)化創(chuàng)建的實(shí)現(xiàn)方案2025-01-01
MySQL密碼策略管理插件validate_password用法詳解
自MySQL5.6起,引入validate_password插件,用于密碼長度和強(qiáng)度管理,在MySQL8.0中,該插件通過服務(wù)器組件重新實(shí)現(xiàn),插件默認(rèn)不允許密碼為用戶名,可設(shè)定最小長度和強(qiáng)度等級,還可要求密碼包含數(shù)字、大小寫字母和特殊字符2024-11-11
windows上的mysql服務(wù)突然消失提示10061 Unkonwn error問題及解決方案
windows10 系統(tǒng),今天早晨系統(tǒng)自己更新了下,也沒啥問題,突然發(fā)現(xiàn)電腦上安裝的mysql 服務(wù)沒了,經(jīng)過一系列原因分析終于找到解決方案,今天小編給大家分享mysql服務(wù)突然消失:10061 Unkonwn error解決方法,一起看看吧2023-07-07

