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数据库
有时间再补充