mysql8和mysql5.6的加密机制不同 我们需要修改mysql8的加密机制
mysql8 的加密机制为 caching_sha2_password
mysql5.6 的加密机制为 mysql_native_password
mysql数据库中的user表中的 plugin字段 为你的加密机制 修改玩加密机制记得修改authentication_string
忘记密码的可以使用以下步骤进行登录,如果知道密码直接登录即可。
/etc/my.cnf 中添加 skip-grant-tables
在[mysqld]后面任意一行添加“skip-grant-tables”用来跳过密码验证的过程,
接下来我们需要重启MySQL: service mysqld restart
然后直接输入 mysql 进入
use mysql
set global validate_password.policy=0; //设置密码复杂度
set global validate_password.length=1;设置密码最少长度
update user set authentication_string ='*81F5E21E35407D884A6CD4A731AEBFB6AF209E1B' plugin='mysql_native_password' where user='root';
authentication_string 为你密码加密后的值
plugin 为你的加密机制
以上的密码为 root 下次登录 只需输入
mysql -uroot -proot 即可
*81F5E21E35407D884A6CD4A731AEBFB6AF209E1B 是在mysql5.7中root 加密后的值
当然你也可以在mysql5.7中使用 select PASSWORD('你的密码'); 设置你想要的密码
flush privileges; 刷新权限
exit 退出
将/etc/my.cnf 中skip-grant-tables删除
重启mysql service mysqld restart