初次安裝Mysql5.7以上版本後初始root密碼找不到的問題
阿新 • • 發佈:2018-02-27
初次安裝Mysql5.7以上版本後初始rmysql5.7新增的特性中主要的一方面就是極大增強了安全性,安裝Mysql後默認會為root@localhost用戶創建一個隨機密碼,這個隨機密碼在不同系統上需要使用不同方式查找,否則無法登錄mysql並修改初始密碼。
以下以Centos 7為例介紹如何找到初始的隨機密碼。
在低於Mysql 5.7.6的版本上,Mysql是使用mysql_install_db命令初始化數據庫的,該命令會在安裝Mysql的用戶根目錄下創建一個.mysql_secret文件,該文件記錄了初始化生成的隨機密碼,用戶可使用改密碼登錄Mysql並重新修改密碼。
對於Mysql 5.7.6以後的5.7系列版本,Mysql使用mysqld --initialize或mysqld --initialize-insecure命令來初始化數據庫,後者可以不生成隨機密碼。但是安裝Mysql時默認使用的是前一個命令,這個命令也會生成一個隨機密碼。改密碼保存在了Mysql的日誌文件中。
在Centos 7系統上使用rpm命令安裝Mysql後,mysql的配置文件是/etc/my.cnf,打開該文件,可以看到mysql的datadir和log文件等的配置信息,如下:
datadir=/var/lib/mysql
log-error=/var/log/mysqld.log
打開/var/log/mysqld.log文件,搜索字符串A temporary password is generated for root@localhost:,可以找到這個隨機密碼,通常這一行日誌在log文件的最初幾行,比較容易看到。
使用找到的隨機密碼登錄mysql,首次登錄後,mysql要比必須修改默認密碼,否則不能執行任何其他數據庫操作,這樣體現了不斷增強的Mysql安全性。
初次安裝Mysql5.7以上版本後初始root密碼找不到的問題