MySQL5.6之後預設root密碼的問題
阿新 • • 發佈:2019-01-22
前段時間安裝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