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.我靠終於改完了。
好了,方法教給大家了,希望對大家能夠有所幫助