您好,登錄后才能下訂單哦!
這篇文章主要講解了如何解決Linux MySQL忘記root密碼問題,內容清晰明了,對此有興趣的小伙伴可以學習一下,相信大家閱讀完之后會有幫助。
在使用MySQL數據庫時,由于某些原因長時間沒有登陸MySQL,或者由于工作交接完成度不高,導致數據庫root登陸密碼忘記,如何解決?
一、更改my.cnf配置文件
1、用命令編輯/etc/my.cnf配置文件,即:vim /etc/my.cnf 或者 vi /etc/my.cnf 或者 nano /etc/my.cnf
2.在[mysqld]下添加skip-grant-tables,然后保存并退出
3.重啟mysql服務:service mysqld restart
二、更改root用戶名
1、重啟以后,執行mysql命令進入mysql命令行
2、修改root用戶密碼
MySQL> UPDATE mysql.user SET Password=PASSWORD('新密碼') where USER='root';
MySQL> flush privileges;
MySQL> exit
注意:以上是5.7之前的版本使用,5.7之后的版本沒有Password字段,password字段改成了authentication_string
mysql> update mysql.user set authentication_string=password(‘root123456') where user='root'; #修改密碼成功
Query OK, 1 row affected, 1 warning (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 1
mysql> flush privileges; #立即生效
Query OK, 0 rows affected (0.00 sec)mysql> quit
Byen>mysql -u ******* -p #以該用戶登錄成功.
Enter password: ********
…………………………
mysql>注意:5.7之后的版本,密碼不能過于簡單,如123456,否則會報以下錯誤:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements。
此時,要么把密碼設置復雜點,要么修改配置:
這個其實與validate_password_policy的值有關。 validate_password_policy有以下取值: 默認是1,即MEDIUM,所以剛開始設置的密碼必須符合長度,且必須含有數字,小寫或大寫字母,特殊字符。 有時候,只是為了自己測試,不想密碼設置得那么復雜,譬如說,我只想設置root的密碼為123456。 必須修改兩個全局參數: 首先,修改validate_password_policy參數的值 mysql> set global validate_password_policy=0; Query OK, 0 rows affected (0.00 sec) 1 2 validate_password_length(密碼長度)參數默認為8,我們修改為1 mysql> set global validate_password_length=1; Query OK, 0 rows affected (0.00 sec) 1 2 4,完成之后再次執行修改密碼語句即可成功 mysql> alter user 'root'@'localhost' identified by '123456'; Query OK, 0 rows affected (0.00 sec)
3、最后把/etc/my.cnf中的skip-grant-tables注釋掉,然后重啟mysql,即:service mysqld restart
OK,下面我們就可以使用root新的密碼登錄MySQL了。
看完上述內容,是不是對如何解決Linux MySQL忘記root密碼問題有進一步的了解,如果還想學習更多內容,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。