1. 程式人生 > >MySQL5.6之後預設root密碼的問題

MySQL5.6之後預設root密碼的問題


前段時間安裝mysql5.6後,習慣性的無密碼登入,但是提示要輸入密碼
# mysql -u root -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
好吧,那我就安全模式登入,也就是常說的繞過密碼驗證
# /etc/init.d/mysql stop
# mysqld_safe --user=mysql --skip-grant-tables
# mysql -u root mysql
mysql> SET Password=PASSWORD('newpassword')
mysql> FLUSH PRIVILEGES;

這樣就可以了, 但是為什麼和我之前安裝的5.1 不一樣呢,原來從MySQL5.6.8開始,MySQL RPM安裝包用了更安全的安裝方式,再不是以前的密碼為空了,mysql會給root賬號隨機分配一個密碼,安裝MySQL後,root的這個隨機密碼會寫在檔案:.mysql_secret中,但這個密碼不能做任何事情,只能登入。

然後必須更改密碼才能正常使用,如:
mysql> set password =password('123456');
重新整理許可權
mysql> flush privileges;
root賬號就正常使用了。

如果感興趣,可以檢視官方的解釋:
http://dev.mysql.com/doc/refman/5.6/en/linux-installation-rpm.html


-------------------------------------
順便推薦QQ群,僅供學習和交流,歡迎大家的加入
Java     : 139978466
MySQL: 167209377
大資料  : 181560406
前端     : 139978026
測試     : 299057857
運維     : 139978281