centos6.8i386,mysql5.7.17,看mysql的文档好像只有使用root权限安装。
可是这样不是不符合安全原则么?还是说所谓安全,只要是非root用户启动就好,安装的话是root还是非root都无所谓?
那么有非root用户编译安装mysql的教程么?我当然在网上搜到了很多,可是都不能成功,或者无法初始化。还有一些自己对cmake时编译的宏命令理解错误,参数对照文档也是过时的。
所以,一般企业,或者说按照管理的安全准则,mysql应该怎么安装?以及,究竟怎么用非root安装编译mysql?
컴파일에는 루트가 필요하지 않습니다.
설치가 불가능한 것은 아니지만 mysql의 기본 디렉터리 중 상당수에는 관리자에게만 쓰기 권한이 있습니다. 따라서 관리자 권한으로만 설치할 수 있습니다.
직접 설치해 보지는 않았지만 소스 코드에 수동으로 설정해야 하는 쓰기 경로가 있을 수 있습니다.
설치 지침은 루트를 이용해서 설치하시면 되고, 실행시 다른 권한으로 실행하셔도 됩니다.
루트 설치가 필요한 이유는 기본 설치에서는 일부 파일(예: 실행 파일)을 일부 중요한 디렉터리(예: /usr/xxx, /usr/local/, /bin/, /etc/)에 작성해야 하기 때문입니다. 등) mysql, mysqld는 bin 폴더에, 종속 파일은 lib 폴더에, 구성 파일 my.cnf는 /etc/에 기록됩니다.)
그런 다음 사용자 디렉토리에 설치 디렉토리(./configure --prefix 설치 경로)를 구성하면 루트 권한이 필요하지 않습니다. 그러나 설치 후 실행하려면 설치 폴더로 이동하십시오. 실행 파일을 찾으려면 해당 디렉토리에 실행하면 됩니다. 실행 시 구성 파일의 위치를 지정해야 할 수도 있습니다(기본값은 /etc/이지만 루트로 설치하지 않기 때문에 당연히 존재하지 않습니다). 하지만 기본적으로 구성 파일을 찾는 위치는 해당 위치입니다)
루트 설치가 필요한 이유는 무엇입니까? 당연히 리소스를 공유하고 공간을 절약하기 위한 것입니다. 그렇지 않으면 본인과 루트 사용자만 사용할 수 있고 다른 사용자는 사용할 수 없습니다.
왜 루트로 시작해야 합니까? 프로그램이 시작된 후 자체 설치 디렉터리에 일부 지저분한 파일(예: 로그, 데이터 파일)이 생성되기 때문입니다. 설치 디렉터리가 루트인 경우 당연히 모든 파일을 작성하려면 루트에서 실행해야 합니다.
mysql 사용에 대해 이야기해 보겠습니다.
DBA는 mysql 데이터베이스만 작동할 수 있고 로그 파일은 작동할 수 없습니다.
운영 및 유지 관리는 로그 파일을 이동할 수 있지만 mysql 데이터베이스는 이동할 수 없습니다.
시간나면 더 추가하겠습니다