新聞中心
近期有同學(xué)反饋數(shù)據(jù)庫安裝的時候,已確定目錄權(quán)限已經(jīng)設(shè)置了,但是還是無法安裝的情況。解決后,分享一下,幫助大家遇到相同問題時更快定位及解決。

為鎮(zhèn)雄等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及鎮(zhèn)雄網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為網(wǎng)站制作、成都網(wǎng)站制作、鎮(zhèn)雄網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!
1、案例還原
(1)創(chuàng)建目錄并創(chuàng)建授權(quán)
處理完成后,權(quán)限如下:
(2)安裝數(shù)據(jù)庫
bin/mysqld --defaults-file=/data/mysql/mysql3306/etc/my.cnf --initialize --user=mysql
此時報錯信息如下:
mysqld: Can't change dir to '/data/mysql/mysql3306/data/' (Errcode: 13 - Permission denied)
2022-10-29T19:02:30.058126+08:00 0 [Warning] 'NO_ZERO_DATE', 'NO_ZERO_IN_DATE' and 'ERROR_FOR_DIVISION_BY_ZERO' sql modes should be used with strict mode. They will be merged with strict mode in a future release.
2022-10-29T19:02:30.058209+08:00 0 [Warning] 'NO_AUTO_CREATE_USER' sql mode was not set.
2022-10-29T19:02:30.058277+08:00 0 [Note] Ignoring --secure-file-priv value as server is running with --initialize(-insecure) or --bootstrap.
2022-10-29T19:02:30.058317+08:00 0 [Note] bin/mysqld (mysqld 5.7.23-24-log) starting as process 9532 ...
2022-10-29T19:02:30.099203+08:00 0 [Note] --initialize specifed on an existing data directory.
2022-10-29T19:02:30.100460+08:00 0 [ERROR] failed to set datadir to /data/mysql/mysql3306/data/
2022-10-29T19:02:30.105066+08:00 0 [ERROR] Aborting
2022-10-29T19:02:30.105118+08:00 0 [Note] Binlog end
2022-10-29T19:02:30.105494+08:00 0 [Note] bin/mysqld: Shutdown complete
(3)原因排查
因之前在大數(shù)據(jù)機(jī)器上安裝數(shù)據(jù)庫出現(xiàn)過類似情況,因此想到查看上層目錄權(quán)限,結(jié)果果然是上層目錄權(quán)限問題。
(4)問題解決
修改目錄權(quán)限為755.
chmod 755 mysql/
再進(jìn)行初始化
bin/mysqld --defaults-file=/data/mysql/mysql3306/etc/my.cnf --initialize --user=mysql
順利完成初始化。
啟動數(shù)據(jù)庫,成功。
/usr/local/mysql5.7/bin/mysqld_safe --defaults-file=/data/mysql/mysql3306/etc/my.cnf
2、相似案例
使用xtrabackup工具還原數(shù)據(jù)庫時,如果配置文件中的數(shù)據(jù)目錄地址在本機(jī)中沒創(chuàng)建,那么在還原后啟動數(shù)據(jù)庫時也不成功,
(1)現(xiàn)場還原
xtrabackup工具備份一個數(shù)據(jù)庫實(shí)例,然后恢復(fù)至一個新實(shí)例(此過程略過,直接到還原目錄不存在的位置)。
先不創(chuàng)建此目錄(通常是寫錯位置,或創(chuàng)建的時候?qū)戝e目錄名等).
開始還原。
innobackupex --defaults-file=/root/my.cnf --move-back ./
可以看到,還原的步驟能順利進(jìn)行。
數(shù)據(jù)和日志目錄也自動創(chuàng)建了。
此時因?yàn)槲覀兊呐渲梦募?root目錄下,啟動時,因配置文件中指定了tmp目錄,因此在/data/mysql/mysql3307下創(chuàng)建一個空的tmp目錄,保證目錄均存在。之后再創(chuàng)建一個日志文件。目錄權(quán)限調(diào)整為mysql屬主。
正常情況下此時啟動數(shù)據(jù)庫即可,可惜失敗了。
日志文件中也無任何內(nèi)容。
這種情況,大家可能會想到是權(quán)限問題,比如有地方?jīng)]設(shè)置mysql屬主等,但其實(shí)不然。此情況就如同案例1中那樣,是因?yàn)槟夸浀牟僮鳈?quán)限不足導(dǎo)致。修改一下即可,例如:
只需要將/data/mysql目錄操作權(quán)限修改為755(建議子目錄也修改為755,但是不修改也可以正常啟動)。
chmod 755 /data/mysql
子目錄未調(diào)整。
啟動數(shù)據(jù)庫。
查看進(jìn)程已啟動。
日志也正常。
3、小結(jié)
數(shù)據(jù)庫對目錄及文件的操作權(quán)限、屬主等的要求是比較嚴(yán)格的,其中一條不符合要求就無法創(chuàng)建或啟動數(shù)據(jù)庫,以上案例希望對大家有幫助。
當(dāng)前題目:MySQL目錄權(quán)限已修改為何提示無權(quán)限
文章路徑:http://www.fisionsoft.com.cn/article/cdeedjc.html


咨詢
建站咨詢
