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