引言
今天mysql升級到8.0.13版本,遇到了很多問題,在此進行總結方便以后查看。
卸載mysql
brew uninstall mysql
sudo rm /usr/local/mysql
sudo rm -rf /usr/local/mysql*
sudo rm -rf /Library/StartupItems/MySQLCOM
sudo rm -rf /Library/PreferencePanes/My*
rm -rf ~/Library/PreferencePanes/My*
sudo rm -rf /Library/Receipts/mysql*
sudo rm -rf /Library/Receipts/MySQL*
sudo rm -rf /var/db/receipts/com.mysql.*
安裝mysql
brew install mysql
安裝完成后
通過brew操作mysql
# 獲取service列表
brew services list
# 重啟mysql服務
brew services restart mysql
# 停止mysql服務
brew services stop
升級mysql到8.0.13遇到的問題
我在這里遇到的最大的問題就是修改mysql的root賬號的密碼
mysql安裝成功之后root是不需要密碼的
1、查詢mysql的root信息
select host, user, authentication_string, plugin from mysql.user;
2、把root賬號的密碼置為空
update user set authentication_string='' where mysql.user='root';
3、退出到外面頁面執行升級mysql后的命令
mysql_upgrade -u root -p 直接回車就可以,不需要輸入密碼
如果不用這個命令就會報錯:ERROR 1146 (42S02): Table 'mysql.role_edges' doesn't exist
4、修改密碼
ALTER USER 'root'@'localhost'
IDENTIFIED WITH mysql_native_password
BY ‘你的密碼’;
注意:
(1)密碼需要是八位,並且帶有大寫字母,小寫字母,數字,特殊字符。
5、退出之后重新登陸即可。
參考url:https://my.oschina.net/niepanLs/blog/2876277
https://dev.mysql.com/doc/refman/8.0/en/upgrading-from-previous-series.html
https://blog.csdn.net/xueyubingfeng1/article/details/81738643