MYSQL8 0以上版本正確修改ROOT密碼

2021-08-22 18:04:42 字數 3425 閱讀 6286

部署環境:

安裝版本red hat cent 7.0

mysql 版本 8.0.2.0

成功部署完畢後出現故障情況:

1.      正常啟動mysql服務後,敲linux中root賬戶和密碼進入不去。

2.      從/etc/my.cnf 配置檔案中加入skip-grant-table後正常登陸,但是不能建立使用者等多操作

總結來說:

想進去mysql後不能操作多指令,操作多指令又不能進去mysql,死迴圈

挖坑環節:

網上找了很多辦法,首先加入skip-grant-table.後進去重新整理許可權表,重啟服務,不用密碼的root進去,在改root密碼後,重新重新整理許可權表。方法試了很多個都不對。修改root環節始終不對。

文章給了我提醒,是不是mysql8.0以上的版本密碼策略和更改語法不對了。

重新操作一遍:

#vim /etc/my.cnf

【mysql】

新增skip-grant-table

#systemctl stop mysqld.service

#systemctl start mysqld.service

#mysql –u root

[敲回車進入]

mysql> flush privileges;

query ok, 0 rows affected (0.00 sec)

mysql> alter user 'root'@'localhost'identified by 'mynewpass';

error 1819 (hy000): your password does notsatisfy the current policy requirements

mysql> alter user 'root'@'localhost'identified by 'mynewpass@123';

error 1396 (hy000): operation alter use***iled for 'root'@'localhost'

mysql> alter user'root'@'%' identified by 'mynewpass@123'; 

【mysql8.0以上密碼策略限制必須要大小寫加數字特殊符號,我之前用mysqladmin,set,update,參考修改root密碼的前人:

query ok, 0 rows affected (0.05 sec)

退出,把skip-grant-table語句刪除,重新啟動資料庫

[root@localhost ~]# vim /etc/my.cnf【刪除省略】

[root@localhost ~]# systemctl stopmysqld.service

[root@localhost ~]# systemctl startmysqld.service

[root@localhost ~]# mysql -uroot –p

mysql> create user dbadmin@localhost

-> identified by 'pwd123';

error 1819 (hy000): your password does notsatisfy the current policy requirements

mysql> create user dbadmin@localhost

-> identified by 'pwd123';

error 1819 (hy000): your password does notsatisfy the current policy requirements

mysql> create user dbadmin@localhost

-> identified by 'pwd@123';

error 1819 (hy000): your password does notsatisfy the current policy requirements

mysql> create user dbadmin@localhost

-> identified by 'mynewpass@123';

query ok, 0 rows affected (0.10 sec)

【可以正常建立使用者,密碼安全性還是要求著設定複雜度要高一些】

第二使用sql工具進行遠端連線,這裡使用sqlyog進行遠端連線。

一般來說,直接用root使用者的賬號密碼去連線是不行,即時密碼正確。

mysql 8.0內新增加mysql_native_password函式,通過更改這個函式密碼來進行遠端連線。

2.1 第一可以更改root使用者的native_password密碼

2.2 第二可以用root使用者登入新增加使用者,進行授權再遠端連線。

注意:更改了mysql_native_passwd密碼,等同更改使用者原始密碼。mysql 8.0 內以mysql-native_passwd為主,從shell介面登入需要注意了。

感謝網友幫助,希望能幫到it事業上面挖坑的人。

MySql8 0以上版本安裝

1 配置環境變數 變數名 mysql home 變數值 mysql存放路徑 例如 d mysql 8.0.20 winx64 2 生成data檔案 以管理員身份執行cmd 進入d mysql 8.0.20 winx64 bin下 執行命令 mysqld initialize insecure use...

本地安裝mysql8 0以上版本

2.解壓zip包,並將解壓檔案放入乙個資料夾下 3.配置環境變數 目的是為了避免在cmd視窗下操作時反覆切換路徑 4.在安裝根目錄下新增 my.ini檔案 data資料夾是初始化資料庫之後才有的,my.ini檔案預設是沒有的,自己可以編寫如下 mysqld 設定3306埠 port 3306 設定m...

mysql8 0以上版本修改密碼問題記錄

1 以管理員身份執行cmd,進入到mysql安裝的bin目錄下 2 先關閉mysql服務 net stop mysql,緊接著執行 mysqld console skip grant tables shared memory 為了跳過登入進入mysql 在這一步的時候我遇到的問題是執行完命令後列印以...