mysql8.0安装之后一些问题记录

MySQL 8.0的升级更改细节

系统变量的默认值 从 mysql_native_password变为 caching_sha2_password。此更改仅适用于安装或升级到MySQL 8.0.4或更高版本后创建的新帐户。

希望切换到的现有用户caching_sha2_password可以使用以下ALTER USER语句执行此操作:

ALTER USER user
  IDENTIFIED WITH caching_sha2_password
  BY 'password';
  • 引出安装后出现的第一个问题:这种加密方式让很多和MySQL连接的界面工具(如Navicat)或编程语言mysqli接口失效:

错误代码

Error : The server requested authentication method unknown to the client [caching_sha2_password]

原因是不识别MySQL8.0版本的加密方式

更改过程

//1、进入mysql
mysql -u root -p
//2、更改加密方式
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
//3、更改密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
//4、刷新
FLUSH PRIVILEGES;

上述需要注意的是:'password'这个是要你自己修改的

  • 在上面更改的过程中,我们可能不知不觉就会把密码改成其他的了,然后我们再用原密码登陆。就会出现这个错误信息
Access denied for user ‘root’@’localhost’ (using password: YES)

提示很明显,就是你输入的密码出现错误,如果我们不知道密码被改成啥样了。这个修改也很简单
Mysql8.0以前修改方式

/etc/init.d/mysql stop 

mysqld_safe –skip-grant-tables & 

mysql -uroot -p 

mysql>update mysql.user set password=password('mypassword') where user=’root’; 

mysql>flush privileges; 

mysql>quit

Mysql8.0以后修改方式

> use mysql  
> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';  
> FLUSH PRIVILEGES;   

推荐阅读更多精彩内容