티스토리 뷰
mysql 권한 설정(사용자)
mysql 권한 설정(사용자)
MySQL의 경우 아래와 같이 'mysql' 데이터베이스에 존재하는 3개의 테이블을 통해 사용자 및 데이터베이스, 테이블의 접근 권한을 관리 합니다.
1. mysql.user // 사용자 계정 관리
2. mysql.db //사용자별 Database 권한 설정 ('tables_priv' 테이블 보다 우선시 함)
2. mysql.tables_priv // 사용자별 테이블 제어 권한 관리
위의 테이블을 직접 제어하여 사용자별 관리 가능하며 아래의 명령을 통해서도 가능합니다.
1. 사용자 추가
접근허용권한= {Select, Insert, Update, Delete, Create, Drop, Grant, References, Index, Alter, Create View, Show view, Trigger}
접근범위= 접근할데이터베이스명.테이블명 // 모든 데이터베이스의 모든테이블에 접근할려면 ( *.* )
접근위치={localhost, 127.0.0.1, 특정 ip, %} // 설정된 위치에서만 로그인 가능함. (% = 모든 위치에서 로그인 가능)
GRANT 접근허용권한 ON 접근범위 TO 'new_userid'@'접근위치' IDENTIFIED BY 'user_password'
예 1 ) GRANT ALL ON *.* To 'test_user'@'%' IDENTIFIED BY '1234';
// 모든 데이터베이스, 테이블을 제어가능한 권한을 가지는 test_user 계정을 추가 하고 패스워드는 1234 로 함.
예 2 ) GRANT Select, Insert, Delete On test_db.test 'test_user'@'192.168.0.20' IDENTIFIED BY '1234'
//'192.168.0.20' 번의 IP를 가진 시스템에서만 접근이 가능한 test_user 계정을 추가하고 패스워드는 1234 로 함.
// 'test_db' 데이터베이스의 'test' 테이블에 Select, Insert, Delete 가능한 권한을 부여함.
2. 사용자 수정 및 권한 변경
1) 사용자 패스워드 변경 // 데이터베이스를 직접 제어하는걸 추천 (GRANT 변경 가능 함( 사용자 추가 명령과 같음).
use mysql;
update user set password = pawword('new_password') where user = 'test_user';
2) 테이블 접근 권한 변경
1) GRANT ALL ON *.* TO test_user@'%'; // 모든 데이터베이스 및 테이블에 제어가능한 모든 권한을 부여함.
2) GRANT Select On *.* to test_user@'%' ; // 권한 축소의 경우 적용되지 않는 것 같음.(계정 제거후 신규 추가로 진행)
3. 사용자 삭제
아래와 같이 3개의 테이블에서 제거 한다.
use mysql;
delete from user where user = 'test_user';
delete from db where user = 'test_user';
delete from tables_priv where user = 'test_user';
4. 데이터베이스 생성 후 모든 계정에서 접근 가능하도록 하기
이 경우에는 (Grant 명령으로 적용 안됨)
use mysql;
insert into db values ('%', 'test_db', '', 'Y','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N');
//test_db 에 모든 계정이 Select 가능하도록 권한 설정. // 계정 컬럼(3번째)을 '' 공백으로 처리함으로 써 모든 계정을 허용함.
마지막으로 시스템 적용 하기 위해서는 서비스를 재실행 하시거나..
>> Flush Privileges; -- 명령을 해 주셔야 적용 됩니다.
'DEVELOPE > MYSQL&MARIADB' 카테고리의 다른 글
mysql 포트 변경후 접속법 (1) | 2017.02.01 |
---|---|
mysql db 동기화 (0) | 2017.01.31 |
MySQL 설치후 root계정 비밀번호 셋팅등 기본적인설정 (0) | 2017.01.31 |
mysql 데이터베이스 백업 복구시 옵션 (0) | 2017.01.31 |
mysqldump 옵션 (0) | 2017.01.31 |
- Total
- Today
- Yesterday
- 우분투 usb 설치
- CentOS 설치
- 트위터 url 공유
- 트위터 공유소스
- 반응형 웹
- ubuntu
- Q6600
- crontab
- SQL 함수
- CentOS
- 카카오스토리 sns 공유
- 카카오스토리 url 공유
- APM 설치
- 카카오스토리 공유소스
- 우분투 다운로드
- 우분투
- yum
- 부트스트랩
- 미디어쿼리
- mysql 백업
- 트위터 sns 공유
- centos 7
- 리눅스 명령어
- mariadb 백업
- MySQL
- MYSQL 명령어
- SQL 정렬
- 페이스북 공유소스
- 트위터 공유방법 및 소스
- 에디트플러스
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |