검색결과 리스트
데이터베이스에 해당되는 글 1건
- 2011.03.03 [MySQL] 사용자 계정 생성/외부접속 허용
글
[MySQL] 사용자 계정 생성/외부접속 허용
데이터베이스로그
2011. 3. 3. 23:14
계정이 있어야 한다. 외부접근 관리는 mysql 스키마의 user 테이블을 통해 관리가 되는데, user 테이블의 중요한
컬럼으로 Host, User, Password 이 있다. 특정 호스트(도메인 또는 ip) 의 어떤 사용자가 어떤 비밀번호를 사용하여
데이터베이스에 접근할 수 있는지에 대한 정보를 저장한다. Host 컬럼에는 도메인 이나 IP 또는 % 가 들어갈 수 있다.
%는 와일등카드이며, 불특정 다수의 호스트를 의미한다.
사용자 계정을 생성하고, 사용자 데이터베이스를 생성 후 그에 대한 접근권한을 설정하는 과정을 알아보자.
1. 사용자 생성
mysql> CREATE USER 'javauser'@'localhost' IDENTIFIED BY 'your_password';
위 명령은 이름이 javauser이고 비밀번호가 your_password인 로컬호스트 사용자를 생성한다. 이렇게 생성된 사용자는
로컬에서 밖에 접속이 되지 않는다. 외부에서 접속하기 위해서는 허용 도메인을 갖는 동일한 이름의 사용자를 하나더
생성해 주어야 한다.
mysql> CREATE USER 'javauser'@'%' IDENTIFIED BY 'your_password';
2. 데이터 베이스 생성
mysql> CREATE DATABASE javauser;javauser 라는 데이터베이스를 생성한다.
3. 데이터 베이스에 대한 접근권한 설정
mysql> GRANT ALL PRIVILEGES ON javauser.* TO 'javauser'@'localhost' WITH GRANT OPTION;
javauser 데이터베이스에 대한 모든 권한(javauser.*)을 로컬호스트 사용자 javauser 에게 부여한다.
로컬호스트 사용자와 외부접근 사용자는 별도의 사용자처럼 다뤄지기 때문에 외부접근 사용자에게도 권한을
부여해 주어야 한다.
로컬호스트 사용자와 외부접근 사용자는 별도의 사용자처럼 다뤄지기 때문에 외부접근 사용자에게도 권한을
부여해 주어야 한다.
mysql> GRANT ALL PRIVILEGES ON javauser.* TO 'javauser'@'%' WITH GRANT OPTION;
4. 계정에 대한 권한설정을 확인한다.
mysql> SHOW GRANTS FOR 'javauser'@'localhost';
CREATE USER, GRANT 명령을 사용하는 대신, INSERT 와 UPDATE를 사용하여 직접 GRANT 테이블을 수정할 수도 있다.
이렇게 할 경우 다음과 같은 명령을 사용해 변경내용을 적용해 주어야한다.
(CRETAE USER 명령에서 비밀번호는 password함수를 사용하여 직접 암호화 해주어야 한다. CREATE USER 명령은 자동으로
암호화 해준다. )
FLUSH PRIVILEGES
'데이터베이스로그' 카테고리의 다른 글
| [MySQL] 사용자 계정 생성/외부접속 허용 (0) | 2011.03.03 |
|---|