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