在網上查的是,出現這個原因是mysql8 之前的版本中加密規則是mysql_native_password,而在mysql8之后,加密規則是caching_sha2_password, 解決問題方法有兩種,一種是升級navicat驅動,一種是把mysql用戶登錄密碼加密規則還原成mysql_native_password.
本機的鏈接是localhost,遠程的需要將用戶信息update一下,改為root@%的形式
我常用的是第二種方式
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; #修改加密規則
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; #更新一下用戶的密碼
FLUSH PRIVILEGES; #刷新權限
參考鏈接:https://blog.csdn.net/qq_36068954/article/details/80175755
安裝
下載並安裝MySQL官方的 Yum Repository
[root@localhost ~]# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
然后就可以直接yum安裝了
[root@localhost ~]# yum -y install mysql57-community-release-el7-10.noarch.rpm
之后就開始安裝MySQL服務器。
[root@localhost ~]# yum -y install mysql-community-server
首先啟動MySQL
[root@localhost ~]# systemctl start mysqld.service
不過要想進入MySQL還得先找出此時root用戶的密碼,通過如下命令可以在日志文件中找出密碼:
[root@localhost ~]# grep "password" /var/log/mysqld.log
如下命令進入數據庫:輸入初始密碼,此時不能做任何事情,因為MySQL默認必須修改密碼之后才能操作數據庫:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';
[root@localhost ~]# mysql -uroot -p