重置MySQL root 密碼:
當忘記密碼,或者想要強行重置 MySQL 密碼的時候,能夠像下面這樣:mysql
1.中止 MySQL 服務sql
sudo /usr/local/mysql/support-files/mysql.server stop
//當中止失敗 見下邊 如何用mac 活動指示器中止服務。
2.進入安全模式
sudo mysqld_safe --skip-grant-tables數據庫
這個地方,若是你 alias 了 mysqlld_safe 這個命令,那麼能夠直接複製粘貼;若是沒有,則須要加上正確的路徑。在 Linux/OS X 系統下,默認路徑是 /usr/local/mysql/bin/mysqld/usafe。安全
說是安全模式,實際上是超級危險模式!若是你是在本地修改,那沒問題;若是是在服務器上,那你得保證這個時候沒有任何人登陸到系統。由於一旦進入了安全模式,任何人均可以使用任何密碼經過 root 用戶登陸入到 MySQL ,能夠執行任何想執行的操做。服務器
這也是爲何,當咱們密碼忘記了的時候,咱們能夠這樣來修改密碼。凡事有利有弊,你能夠用這種方式來作好事;而一樣,能夠用來作壞事。工具
3.新打開一個終端,進入 MySQLserver
mysql -u root -p
進程
這裏也和 mysqld_safe 同樣。若是你是 OS X 上新裝的 MySQL ,那麼頗有可能並不能直接使用 mysql 這個命令。而是要使用它的絕對路徑: /usr/local/mysql/bin/mysql -u root -p圖片
而後輸入任意密碼就能夠進入 MySQL 了。ip
4.修改密碼
進入了以後先不要急着使用 update 命令修改密碼,先看看錶中的字段名。不一樣版本密碼的字段名可能不同。
MySQL 的用戶信息是存在 mysql.user 這個表裏面的。因而能夠先選擇 mysql 這個數據庫,再看數據庫中 user 表中的字段名稱。
use mysql; //切換數據庫
describe user; //查看user表的字段
而後肯定密碼字段的名稱,通常多是 Password。然而在 OS X 的 MySQL 5.7 這個版本中,密碼字段名稱是 authentication_string 。記住這個字段名。
而後修改密碼啊:UPDATE mysql.user SET authentication_string=PASSWORD(‘123456’) where User=’root’; //將root用戶密碼改爲 123456
5.刷新權限,使配置生效
flush privileges;
最後再啓動 MySQL
sudo /usr/local/mysql/support-files/mysql.server start
當啓動失敗的話,能夠直接用mac工具活動監視器:
搜索mysql 進程名稱列表有mysql的話,直接雙擊出現:這裏寫圖片描述
點擊退出便可。
修改完以後記得刷新權限 和從新啓動mysql服務才行。