一、首次登錄時,修改root賬戶的密碼:
vim /etc/my.cnf
在末尾添加 skip-grant-tables ,保存。
service mysqld restart
再次登錄時,不需要密碼驗證:
mysql -uroot
mysql> use mysql
mysql> update user set authentication_string=password('HEpan693640.') where user='root';
mysql> flush privileges;
mysql> quit
上面修改的密碼相當於在mysql安裝的時候的初始化的密碼變成了我們修改的密碼。所以下次正常登錄系統后mysql數據庫還是要你把原始密碼修改掉。
vim /etc/my.cnf ,注釋或刪掉 skip-grant-tables
service mysqld restart
再次以賬戶密碼登錄:
mysql -uroot -pHEpan693640.
此時系統會提示你修改密碼,並且必須使用ALTER USER的方式修改,另外,無法執行其他任何語句:
mysql> alter user 'root'@'localhost' identified by 'root';
此時系統報錯:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
原因:是密碼策略過於嚴格。
將密碼設置復雜些,符合密碼策略: mysql> alter user 'root'@'localhost' identified by 'Root1@345';
然后,可以執行其他語句了。
我還想把密碼修改得簡潔些,於是需要修改密碼策略:
修改密碼策略:
mysql> set global validate_password_length=1;
mysql> set global validate_password_mixed_case_count=0;
mysql> set global validate_password_number_count=0;
mysql> set global validate_password_policy='LOW';
mysql> set global validate_password_special_char_count=0;
修改過后密碼策略如下:
然后再次執行alter user,或其他修改密碼的方法 即可。
二、其他時候修改密碼的方法:
1、mysql> alter user 'root'@'localhost' identified by 'root';
2、mysql> set password=password('root');
3、[root@node03 ~]# /usr/bin/mysql_secure_installation,然后根據提示往下走。
4、vim /etc/my.cnf 在末尾添加 validate-password=OFF,也可以跳過密碼驗證。