6.1.5 MySQL을 일반 사용자로 실행하는 방법
Windows에서 일반 사용자 계정을 사용하여 Windows 서비스로 서버를 실행할 수 있습니다.
Unix에서 MySQL 서버 mysqld를 시작할 수 있으며 모든 사용자가 실행할 수 있습니다. 그러나 보안상의 이유로 유닉스 root
사용자로 서버를 실행하는 것은 피하십시오. mysqld를 변경 권한이없는 보통의 Unix 사용자 user_name
으로 실행하려면 다음을 수행해야합니다.
서버가 실행하고 있으면 서버를 정지합니다 (mysqladmin shutdown를 사용합니다).
데이터베이스 디렉토리와 파일을 변경하여
user_name
거기에 파일을 읽고 쓰는 권한을 부여합니다 (이 작업은 유닉스root
사용자로해야합니다).shell>
chown -R
user_name
/path/to/mysql/datadir
이렇게하지 않으면 서버는
user_name
로 실행할 때 데이터베이스 또는 테이블에 액세스 할 수 없습니다.MySQL 데이터 디렉토리에있는 디렉토리 또는 파일이 심볼릭 링크의 경우
chown -R
이 심볼릭 링크를 참조하지 않을 수 있습니다. 참조하지 않는 경우, 그 링크를 참조하여 지정된 대상 디렉토리 및 파일을 변경해야합니다.user_name
라는 사용자가 서버를 시작합니다. 대신 유닉스root
사용자로--user=
옵션을 사용해 mysqld를 시작하는 방법도 있습니다. mysqld가 시작할 때 연결을 수락하기 전에 Unix 사용자user_name
user_name
으로 실행으로 바뀝니다.시스템 시작시 지정된 사용자로 서버를 시작하려면
/etc/my.cnf
옵션 파일 또는 서버의 데이터 디렉토리에 저장되어있는my.cnf
옵션 파일의[mysqld]
그룹에user
옵션을 추가한다 하여 사용자 이름을 지정합니다. 예 :[mysqld] user =
user_name
Unix 시스템 자체가 안전한 상태가 아닌 경우, 부여 테이블의 MySQL root
계정에 암호를 할당합니다. 이것을하지 않으면 해당 컴퓨터의 로그인 계정을 가진 모든 사용자가 --user=root
옵션을 사용하여 mysql 클라이언트를 실행할 수 있으며 모든 작업을 수행 할 수 있습니다. (모든 경우에 MySQL 계정에 암호를 지정하는 것은 좋은 아이디어이지만 다른 로그인 계정이 서버 호스트에있는 경우 특히 중요합니다.) 섹션 2.10.2 "처음 MySQL 계정 보안 설정" 을 참조하십시오.