在经过千辛万苦终于把mysql8装到linux上,发现登录不知道密码,很尴尬
这里需要将密码重置一下.但是都不知道密码是啥怎么登录mysql操作修改呢?
方法一
grep 'temporary password' /var/log/mysqld.log
查看初始化生成的密码
方法二
还是回到/etc/my.cnf
增加skip-grant-tables
重启mysql
systemctl restart mysqld
这样就可以跳过登陆的密码了,但是能操作的也很有限,所以还是需要密码
然后我们mysql -uroot -p
直接回车不输入任何东西
use mysql; select host, user, authentication_string, plugin from user;
可以看到user表是这样的
表格介绍:
- host: 允许用户登录的 ip ‘位置’ % 表示可以远程;
- user: 当前数据库的用户名;
- authentication_string: 用户密码(在mysql 5.7.9以后废弃了password字段和password()函数);
- plugin: 密码加密方式;
尤其是plugin,这个跟mysql8之前的版本不一样,是一个挖坑点.(感觉自从mysql被oracle收购后为了数据安全后完全不管人性化了)
我们先把密码去掉
update user set authentication_string='' where user='root'; quit;
然后我们再vi /etc/my.cnf
注释掉或删除skip-grant-tables
重启mysql服务
service msqld restart
再重新登陆
mysql -u root -p
回车直接进去
使用 ALTER 修改 root 用户密码
此处先不急着操作,后面还有坑!!
- 不完善的操作:
ALTER user 'root'@'localhost' IDENTIFIED BY '';
- 完善一点的操作:(原因在下面)
update user set Host='%' where User='root'; ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password'; # password换成你的密码
注意这个密码如果设置的比较简单,例如 等等,会设置不成功,它会提示你设置的密码太简单,最好设置成大写字母、数字、符号的组合。这个也是新版mysql的一个特点,MySQL 5.7.6 以后废弃了 user 表中的 password 字段和 password() 方法,所以使用旧的方法去重置密码对 mysql 8.0 是不行的!
方法:
SHOW VARIABLES LIKE 'validate_password%';
将其安全策略改为LOW就可以了
set global validate_password.policy = LOW;
下面解释为什么要用完善一点的操作
现在在本机上登陆是没有问题的,但是如果在其他主机上连接过来,会发现连不上
Host xxxx is not allowed to connect to this MySql server
这个可以往上看看user那个表,host里面都是清一色的localhost
,也就是只有localhost才能pass,所以我们需要将root这个host改成通配符%
,让所有的主机都能登陆
在本机上登陆mysql , 修改host为百分号
use mysql; update user set Host='%' where User='root';
Authentication plugin 'caching_sha2_password' cannot be loaded
这是因为mysql把密码加密方式改了,而很多数据库软件目前都还没反应过来,还是用的以前的密码认证,所以通不过,没办法,只能先把加密方式换成我们以前版本的
登录mysql,现在再来改密码
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password'; # password换成你的密码 FLUSH PRIVILEGES;
再看看user表
# 查看一下现在的user表 select host, user, authentication_string, plugin from user;
可以看到plugin那我们已经换过来了
现在就可以正常的使用小海豚或者navicat Premium登录了
到此这篇mysql8.XXX版本以后重置密码,修改加密方式解决Authentication plugin 'XXX' cannot be loaded问题的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/haskellbc/10464.html