MySQL目錄權(quán)限已修改為何提示無權(quán)限
近期有同學(xué)反饋數(shù)據(jù)庫安裝的時(shí)候,已確定目錄權(quán)限已經(jīng)設(shè)置了,但是還是無法安裝的情況。解決后,分享一下,幫助大家遇到相同問題時(shí)更快定位及解決。
1、案例還原
(1)創(chuàng)建目錄并創(chuàng)建授權(quán)
處理完成后,權(quán)限如下:
(2)安裝數(shù)據(jù)庫
此時(shí)報(bào)錯(cuò)信息如下:
(3)原因排查
因之前在大數(shù)據(jù)機(jī)器上安裝數(shù)據(jù)庫出現(xiàn)過類似情況,因此想到查看上層目錄權(quán)限,結(jié)果果然是上層目錄權(quán)限問題。
(4)問題解決
修改目錄權(quán)限為755.
再進(jìn)行初始化
順利完成初始化。
啟動(dòng)數(shù)據(jù)庫,成功。
2、相似案例
使用xtrabackup工具還原數(shù)據(jù)庫時(shí),如果配置文件中的數(shù)據(jù)目錄地址在本機(jī)中沒創(chuàng)建,那么在還原后啟動(dòng)數(shù)據(jù)庫時(shí)也不成功,
(1)現(xiàn)場(chǎng)還原
xtrabackup工具備份一個(gè)數(shù)據(jù)庫實(shí)例,然后恢復(fù)至一個(gè)新實(shí)例(此過程略過,直接到還原目錄不存在的位置)。
先不創(chuàng)建此目錄(通常是寫錯(cuò)位置,或創(chuàng)建的時(shí)候?qū)戝e(cuò)目錄名等).
開始還原。
可以看到,還原的步驟能順利進(jìn)行。
數(shù)據(jù)和日志目錄也自動(dòng)創(chuàng)建了。
此時(shí)因?yàn)槲覀兊呐渲梦募?root目錄下,啟動(dòng)時(shí),因配置文件中指定了tmp目錄,因此在/data/mysql/mysql3307下創(chuàng)建一個(gè)空的tmp目錄,保證目錄均存在。之后再創(chuàng)建一個(gè)日志文件。目錄權(quán)限調(diào)整為mysql屬主。
正常情況下此時(shí)啟動(dòng)數(shù)據(jù)庫即可,可惜失敗了。
日志文件中也無任何內(nèi)容。
這種情況,大家可能會(huì)想到是權(quán)限問題,比如有地方?jīng)]設(shè)置mysql屬主等,但其實(shí)不然。此情況就如同案例1中那樣,是因?yàn)槟夸浀牟僮鳈?quán)限不足導(dǎo)致。修改一下即可,例如:
只需要將/data/mysql目錄操作權(quán)限修改為755(建議子目錄也修改為755,但是不修改也可以正常啟動(dòng))。
子目錄未調(diào)整。
啟動(dòng)數(shù)據(jù)庫。
查看進(jìn)程已啟動(dòng)。
日志也正常。
3、小結(jié)
數(shù)據(jù)庫對(duì)目錄及文件的操作權(quán)限、屬主等的要求是比較嚴(yán)格的,其中一條不符合要求就無法創(chuàng)建或啟動(dòng)數(shù)據(jù)庫,以上案例希望對(duì)大家有幫助。