前言
最近在windows系統(tǒng)下安裝了一個(gè)Ubuntu18.04.5的Linux系統(tǒng),然后直接使用Ubuntu包管理工具裝了MySql數(shù)據(jù)庫(kù),裝的過(guò)程中沒(méi)有提示任何有關(guān)root密碼的信息(也許是我沒(méi)有仔細(xì)觀察,這不重要),這就需要能通過(guò)某種方式可以找到MySql的初始密碼,或者修改原有的root密碼。
安裝MySql
可以先通過(guò)sudo apt search mysql-server看看包源提供了那些MySql的版本

執(zhí)行:sudo apt install mysql-server等待安裝完成,查看服務(wù)的狀態(tài):sudo service mysql status發(fā)現(xiàn)服務(wù)未啟動(dòng),執(zhí)行命令sudo service mysql start啟動(dòng)MySql服務(wù),查看MySql的服務(wù)狀態(tài)已經(jīng)啟動(dòng),如果在啟動(dòng)的過(guò)程中發(fā)現(xiàn)如下的錯(cuò)誤信息:mkdir: cannot create directory ‘//.cache’: Permission denied,可以通過(guò)命令sudo cat /etc/passwd查看MySql用戶(hù)的相關(guān)信息如下:

說(shuō)明MySql用戶(hù)的home目錄不存在,需要將其改成如下:

修改完成之后重新啟動(dòng)MySql服務(wù)sudo service mysql restart,錯(cuò)誤消失,服務(wù)也正常啟動(dòng)了,接下就該登錄MySql服務(wù)器,看看相關(guān)的數(shù)據(jù)庫(kù)和表了,但是由于不知道root的密碼,也就沒(méi)有辦法登錄了
修改密碼
- 修改 /etc/mysql/mysql.conf.d/mysqld.cnf文件,在[mysqld]下面添加一行代碼:skip-grant-tables=1

- 重啟啟動(dòng)MySql服務(wù):sudo service mysql restart
- 登錄MySql:mysql -u root -p(不需要輸入密碼,直接enter進(jìn)入)
- 執(zhí)行語(yǔ)句:alter user ‘root’@’localhost’ IDENTIFIED WITH my_native_password BY ‘123456’;,可能會(huì)提示:he MySQL server is running with the –skip-grant-tables option so it cannot execute this statement的錯(cuò)誤信息,執(zhí)行flush privileges;即可
- 退出,將文件/etc/mysql/mysql.conf.d/mysqld.cnf中skip-grant-tables=1刪除或者注釋掉,重啟MySql服務(wù)
- 重新登錄MySql:mysql -u root -p 輸入密碼:123456,就可以正常登錄了
至此,root的密碼也就修改成功了。在初始化安裝的時(shí)候,會(huì)有一個(gè)初始化的密碼,也可以通過(guò)查看/var/log/mysqld.log文件的記錄能查到初始的root密碼,sudo grep ‘temporary password’ /var/log/mysqld.log,但是我執(zhí)行了該命令,發(fā)現(xiàn)文件/var/log/mysqld.log不存在,估計(jì)是我的環(huán)境問(wèn)題,如果大家也有遇到這種情況,可以參考一下,或許有點(diǎn)幫助。
版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶(hù)自發(fā)貢獻(xiàn),該文觀點(diǎn)僅代表作者本人。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請(qǐng)發(fā)送郵件至2705686032@qq.com 舉報(bào),一經(jīng)查實(shí),本站將立刻刪除。原文轉(zhuǎn)載: 原文出處: