1、安裝
官網下載地址:
https://dev.mysql.com/downloads/mysql/
我選擇安裝的是macOS 10.13 64位的DMG包安裝
2、啟動mysql
打開系統偏好設置,會看到安裝好的mysql
雙擊進入mysql啟動
終端啟停mysql
啟動MySQL服務 sudo /usr/local/MySQL/support-files/mysql.server start
停止MySQL服務 sudo /usr/local/mysql/support-files/mysql.server stop
重啟MySQL服務 sudo /usr/local/mysql/support-files/mysql.server restart
3、登陸mysql
剛安裝完后終端登陸mysql
mysql -uroot -p
問題出現了
MYSQL會要求輸入一個默認密碼,但當自己在終端上使用默認密碼登錄的時候,總會提示一個授權失敗的錯誤:Access denied for user ‘root’@’localhost’ (using passwor)
問題解決:
這是因為沒有給root角色設置密碼;
1. 打開終端停止mysql
sudo /usr/local/mysql/support-files/mysql.server stop
2. 跳過登陸方式啟動並進入mysql
sudo mysqld_safe --user=mysql --skip-grant-tables --skip-networking
如下圖所示:
3. 另開一個終端窗口
敲入 mysql -u root -p
命令然后回車,當需要輸入密碼時,直接按enter鍵,便可以不用密碼登錄到數據庫當中
4. 修改root密碼
問題出現了!網上鋪天蓋地的重置密碼的方式報錯:
set password for 'root'@'localhost'=password('123');
如下圖,無論改大寫還是小寫,都會報語法錯誤
ERROR 1064 (42000): You have an error in your SQL syntax;
5. 解決root密碼報錯
因為現在是新版本8.0了 ,老版本的修改密碼的語法已不再適用,mysql 5.7.9以后廢棄了password字段和password()函數;
mysql>use mysql;
mysql>FLUSH PRIVILEGES;
mysql>ALTER user 'root'@'localhost' IDENTIFIED BY 'newpassward' //注意,這里的密碼要用包含8位大寫+小寫+特殊字符+數字的密碼
會提示修改密碼成功!
mysql>quit;
退出mysql;
注意:原來skip-grant-tables的終端要關閉,最好在kill掉mysql進程;
然后重啟mysql;
直接用mysql -uroot -p 輸入剛才設置的密碼即可正常登錄!
6. 如果還有其他問題,請直接查看官網文檔,比網上各種老版本的解決方案靠譜
https://dev.mysql.com/doc/refman/8.0/en/resetting-permissions.html