Home

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

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’; 修改成功。

技术分享