问题:今天在操作了在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'; 修改成功。