解決這個時把我嚇壞了!!!
報錯如下
register db Ping `default`, Error 1698: Access denied for user 'root'@'localhost'
開始我是想可能是ubuntu的原因,也可能是mysql8.0的原因吧,不管怎樣,我講一下解決這個問題的經歷
開始我是找到個解決辦法
mysql> USE mysql;
mysql> UPDATE user SET plugin='mysql_native_password' WHERE User='root';
mysql> FLUSH PRIVILEGES;
mysql> exit;
$ service mysql restart
這樣就把密碼弄沒了,即無密碼登陸,先說明一下,這個方法是可以解決上面抱錯的問題的
但是我在輸命令時輸錯了,哪里輸入錯了就不寫了,反正導致的結果就是報錯連不上資料庫,用原來的密碼也登陸不上資料庫,我想,完了,密碼壞掉了,資料庫進不去了
然而我還是找到了解決辦法,用重置初始密碼的方式登陸資料庫,然后在執行一次上面的操作,用來覆寫原來的錯誤操作,這樣,整個總算是解決了,
我是這樣做的:
1.進入目錄:cd /etc/mysql,查看debian.cnf檔案,使用這個檔案里的user和password登陸,這樣就登陸了進去了并可以進行一系列操作
下面談的就與beego連接資料庫無關了,而是如何更默認密碼
2.進入mysql資料庫user mysql
3.進行密碼設定執行下列操作
mysql> update user set authentication_string=PASSWORD("自定義新密碼") where user='root';
mysql> update user set plugin="mysql_native_password";
mysql> flush privileges;
最后退出資料庫,并重啟資料庫
mysql> exit;
$ service mysql restart
這個問題讓我想起了我以前解決windows上egg-mysql連接高版本mysql,也就是下面這段話:
博客地址
mysql8.0 之前的版本中加密規則是mysql_native_password,而在mysql8之后,加密規則是caching_sha2_password, 解決此問題方法有兩種,一種是升級客戶端驅動,一種是把mysql用戶登錄密碼加密規則還原成mysql_native_password,
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/76881.html
標籤:MySQL
上一篇:Mysql中的觸發器
下一篇:mysql存盤程序
