㈠ mac 上怎麼重置mysql的root的密碼
好久沒用MySQL今天重新使用時候發現root密碼忘記了,參考了網上的一些解決方案成功修改了密碼,特把重置密碼可行的解決方案記錄在這里,供參考。
首先需要直到自己的mysql安裝路徑,這里是 /usr/local/mysql 。
當忘記密碼,或者想要強行重置 MySQL 密碼的時候,可以像下面這樣:
1.停止 MySQL 服務
sudo /usr/local/mysql/support-files/mysql.server stop
//當停止失敗 見下邊 如何用mac 活動指示器停止服務。
1
2
1
2
也可以在系統設置中停用mysql服務。
2.進入安全模式
sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables
1
1
說是安全模式,其實是超級危險模式!如果你是在本地修改,那沒問題;如果是在伺服器上,那你得保證這個時候沒有任何人登錄到系統。請確保你修改時沒有人可以連接到資料庫,最好的做法是斷掉網路連接,在本地修改完成後再重新啟用該伺服器。因為一旦進入了安全模式,任何人都可以使用任何密碼通過 root 用戶登錄入到 MySQL ,可以執行任何想執行的操作。
這也是為什麼,當我們密碼忘記了的時候,我們可以這樣來修改密碼。凡事有利有弊,你可以用這種方式來做好事;而同樣,可以用來做壞事。
3.新打開一個終端,進入 MySQL
mysql -u root -p
1
1
然後輸入任意密碼進入 MySQL 了。
4.修改密碼
進入了之後先不要急著使用 update 命令修改密碼,先看看錶中的欄位名。不同版本密碼的欄位名可能不一樣。
MySQL 的用戶信息是存在 mysql.user 這個表裡面的。於是可以先選擇 mysql 這個資料庫,再看資料庫中 user 表中的欄位名稱。
use mysql; //切換資料庫
describe user; //查看user表的欄位
1
2
1
2
然後確定密碼欄位的名稱,一般可能是 Password。然而在 OS X 的 MySQL 5.7 這個版本中,密碼欄位名稱是 authentication_string 。記住這個欄位名。
然後修改密碼:
UPDATE mysql.user SET authentication_string=PASSWORD('123456') where User='root'; //將root用戶密碼改成 123456
1
1
5.刷新許可權,使配置生效
flush privileges;
1
1
6.重新啟動 MySQL
sudo /usr/local/mysql/support-files/mysql.server restart
1
1
當啟動失敗的話,可以直接用mac工具活動監視器:
搜索mysql 進程名稱列表有mysql的話,直接雙擊,點擊退出即可。
修改完之後記得刷新許可權 和重新啟動mysql服務才行。
7.再次設置密碼
利用safe模式重新設置密碼後,用設置好的密碼進入mysql後,可能會遇到這樣一段報錯
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
1
1
這時需要再次設置一下密碼
SET PASSWORD = PASSWORD('123456');
1
1
完成了這一步之後密碼就真的修改成功了。
㈡ mac mysql怎麼修改root密碼
沒設root密碼可以用./mysqladmin命令。要是設了root密碼,就要先用「./mysqld_safe --skip-grant-tables &」取消密碼驗證,然後版可以無密碼連權接資料庫,修改root密碼即可。