MySQL 8.0 安装后修改root@localhost的默认空密码

问题:今天在操作了在red hat 8.3上使用centos 8 yum源替换后,安装MySQL后,默认空密码登录,mysql  -uroot   -p  操作修改数据库密码按照老的办法修改不成功。

安装数据库8.0,CentOS 8 安装光盘直接提供了mysql-server 8.0,可以直接 yum 安装就可以。

 

 

 想查看默认的初始密码是多少,但是提示是空。

使用命令查看对应的密码配置规则   SHOW VARIABLES LIKE 'validate_password%';(英文分号不可少) 显示是 Empty set

不用密码进入了MySQL,

root@localhost is created with an empty password ! Please consider switching off the --initialize-insecure option

([警告] [MY-010453] [服务器] root @ localhost使用空密码创建!请考虑关闭--initialize-insecure选项)

解决办法:密码的生成方式交给Mysql的auth_socket插件了,可以编辑my.cnf文件,更改默认的身份认证插件。

vim  /etc/my.cnf

在[mysqld]中添加下边的代码
default_authentication_plugin=mysql_native_password

然后重启MySQL

还有第二中解决办法,进入MySQL后输入命令操作:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'newpassword';

FLUSH PRIVILEGES;

我是试了第一个办法无效,使用第二个直接使用命令操作,设置密码成功。

我的密码设置比较简单,有时密码过于简单也会报错,ERROR:Your password does not satisfy the current policy  requirements(您的密码不符合当前的政策要求)

对应的修改密码就和老的修改办法就可以了 ,进入mysql操作修改密码

mysql> alter  user  root@'localhost'   identified   by     'newpassword';      ## identified  by    由...确定

或者直接在终端里操作修改,不进入MySQL修改密码,

[root@centos7 ~]#mysqladmin    -uroot     -p    'oldpassword'      password     'newpassword'

把简单的123456密码修改下 mysql> alter user  root@'localhost'    identified   by  'mysql';  修改成功。 

转载:https://www.cnblogs.com/liuyakai/p/14341310.html

Guess you like

Origin blog.csdn.net/bbsyi/article/details/120988932