centos6.8i386,mysql5.7.17,看mysql的文档好像只有使用root权限安装。
可是这样不是不符合安全原则么?还是说所谓安全,只要是非root用户启动就好,安装的话是root还是非root都无所谓?
那么有非root用户编译安装mysql的教程么?我当然在网上搜到了很多,可是都不能成功,或者无法初始化。还有一些自己对cmake时编译的宏命令理解错误,参数对照文档也是过时的。
所以,一般企业,或者说按照管理的安全准则,mysql应该怎么安装?以及,究竟怎么用非root安装编译mysql?
編譯不用root就可以,
安裝也不是不可以,就是mysql預設的許多目錄都是只有管理者權限才有寫的權限。所以只能管理員權限安裝。
自己安裝可以安裝在自己的目錄下面,我沒有試過,不過可能源碼裡面可能有寫路徑要自己手動設定。
關於安裝準則,可以用root安裝呀,運行的時候可以用其他權限運行。
之所以要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運行。
說mysql的使用吧
DBA只能操作mysql資料庫,不能動日誌檔
運維可以動日誌文件,當不能動mysql資料庫
有時間再補充