centos環(huán)境,mysql可以用非root(普通用戶)安裝么?
問題描述
centos6.8i386,mysql5.7.17,看mysql的文檔好像只有使用root權(quán)限安裝。
可是這樣不是不符合安全原則么?還是說所謂安全,只要是非root用戶啟動就好,安裝的話是root還是非root都無所謂?
那么有非root用戶編譯安裝mysql的教程么?我當(dāng)然在網(wǎng)上搜到了很多,可是都不能成功,或者無法初始化。還有一些自己對cmake時編譯的宏命令理解錯誤,參數(shù)對照文檔也是過時的。
所以,一般企業(yè),或者說按照管理的安全準(zhǔn)則,mysql應(yīng)該怎么安裝?以及,究竟怎么用非root安裝編譯mysql?
問題解答
回答1:編譯不用root就可以,安裝也不是不可以,就是mysql默認(rèn)的許多目錄都是只有管理員權(quán)限才才有寫的權(quán)限。所以只能管理員權(quán)限安裝。自己安裝可以安裝在自己的目錄下面,我沒有試過,不過可能源碼里面可能有寫路徑要自己手動設(shè)置。
關(guān)于安裝準(zhǔn)則,可以用root安裝呀,運行的時候可以用其他權(quán)限運行。
回答2:之所以要root安裝是因為默認(rèn)安裝時需要往一些重要的目錄(比如/usr/xxx,/usr/local/,/bin/, /etc/等)寫入一些文件(比如可執(zhí)行文件mysql,mysqld寫入到bin文件夾下,依賴文件寫入到lib文件夾下,配置文件my.cnf寫入到/etc/下)
那么只要配置安裝目錄(./configure --prefix 安裝路徑)在你的用戶目錄下就不用root權(quán)限啦,但是install完之后要運行它就去安裝目錄的bin文件夾下找到可執(zhí)行文件執(zhí)行就好了,注意執(zhí)行時可能需要指定配置文件的位置(默認(rèn)是/etc/下但你既然不用root安裝那自然不在那里,但它默認(rèn)找配置文件是去那個地方找)
至于為什么要root安裝? 自然是為了共享資源,節(jié)省空間啦,不然只有你這個用戶和root用戶能用其他用戶都用不了呀。
至于為什么要用root啟動呢?因為程序啟動后會在自個安裝目錄下生成一些亂七八糟的文件呀(比如日志log,數(shù)據(jù)文件data),你如果安裝目錄是root所有它要寫入自然需要root運行。
回答3:說mysql的使用吧DBA只能操作mysql數(shù)據(jù)庫,不能動日志文件運維可以動日志文件,當(dāng)不能動mysql數(shù)據(jù)庫
有時間再補充
