일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 옵저버 패턴
- 빈 타입 조회
- 백준 2164
- 팩토리패턴
- 리버스 프록시
- 스프링 빈
- mvvm패턴
- 기본형 매개변수
- 스프링
- Class Loader
- 네트워크
- k번째큰수
- 스프링 컨테이너
- 백준 1935
- www.naver.com치면 발생하는일
- 쇠막대기
- TCP/IP 4계층
- @Tranctional
- 팩토리 패턴
- SOLID원칙
- removeAll
- 전략 패턴
- 스프링 싱글톤
- 싱글톤 패턴
- try-catch
- 후위표기식
- 참조형 매개변수
- 포워드 프록시
- 자바의 면접
- 참조형 반환타입
- Today
- Total
스파이더 웹 개발
DB- MYSQL 본문
사용자 식별
MySQL은 다른 DBMS와 다르게 사용자계정과 함께 사용자의 접속지점도 계정의 일부가 된다
다음과 같이 'ABC'@'localhost' 라는 계정이 등록되어있으면, 해당 계정은 로컬 호스트에서 ABC라는 아이디로 접속할 때만 사용할 수 있고, 다른 컴퓨터에서는 접속이 불가하다
그렇다면 모든 외부 컴퓨터에서 접속이 가능하게하려면 어떻게해야할까?
'ABC'@'%' 지정해주면되는데 %는 모든 IP를 의미한다
주의할 점은 'ABC'@'localhost' (비밀번호 123) / 'ABC'@'%' (비밀번호 12) 서로 동일한 아이디가 있는 경우이다
이러한 경우 범위가 좁은 것, 즉 직접적으로 IP를 명시한 사용자를 인증한다
계정 생성과 관련된 옵션
IDENTIFIED WITH
- 사용자의 인증 방식과 비밀번호를 설정한다. IDENTIFIED WITH 뒤에는 반드시 인증 방식을 명시해야 한다
REQUIRE
- MySQL 서버에 접속할 때 암호화된 SSL/TLS 채널을 사용할 지여부를 설정. 미 설정시 비암호화 채널로 연결
- 하지만 Caching SHA-2 Authentication 인증 방식을 사용하면 암호화된 채널만으로 MySQL 서버에 접속 가능
PASSWORD EXPIRE
비밀번호 유효기간 설정 옵션
- PASSWORD EXPIRE : 계정 생성과 동시에 비밀번호의 만료 처리
- PASSWORD EXPIRE NEVER : 계정 비밀번호의 만료 기간 없음
- PASSWORD EXPIRE DEFAULT : default_password_lifetime 시스템 변수에 저장되니 기간으로 비밀번호의 유효기간 설정
- PASSWORD EXPIRE INTERVAL n DAY : 비밀번호 유효 기간을 오늘부터 n일자로 설정
PASSWORD HISTORY
한 번 사용했던 비밀번호를 재사용하지 못하게 설정하는 옵션
PASSWORD REUSE INTERVAL
한 번 사용했던 비밀번호의 재사용 금지 기간을 설정
PASSWORD REQUIRE
비밀번호가 만료되어 새로운 비밀번호를 변경할 때 현재 비밀번호를 필요로 할지 말지 결정하는 옵션
ACCOUNT LOCK / UNLOCK
계정 생성시 또는 계정 정보를 변경할 때 계정을 사용하지 못하게 여부를 결정
비밀번호 관리
고수준 비밀번호 관리
validate_password 컴포넌트를 이용하여 비밀번호 정책을 선택할 수 있으며, 또한 금칙어를 사전 파일에 등록하여 사용못하게 할 수도 있다.
이중 비밀번호
기존 서비스가 실행 중인 상태에서 비밀번호 변경이 불가했지만 8.0 버전 부터는 비밀번호로 2개의 값을 동시에 사용할 수 있는 기능을 추가하였다. 두개가 일치해야하는 것은 아니고 하나만 일치하면 로그인이 된다라는 의미이다.
최근 설정된 비밀번호가 프라이머리이며, 이전 비밀번호는 세컨더리가 된다
RETAIN CURRENT PASSWORD 옵션을 이용하여 사용할 수 있다.
권한
책 참조
역할
역할은 CREATE ROLE 명령을 이용해 정의할 수 있다. 이후 각각의 역할을 GRANT 명령을 통해 권한을 부여한다
이후 계정을 생성하여 해당 계정에 역할을 부여하면된다.
MySQL 서버 내부에는 역할과 계정은 동일한 객체로 취급된다
'Study' 카테고리의 다른 글
깃허브 - 마크다운 (0) | 2022.10.13 |
---|---|
Git / Github (0) | 2022.10.13 |
OAuth란? (0) | 2022.09.07 |
Jenkins 사용 (0) | 2022.09.01 |
동기 와 비동기의 개념 (0) | 2022.08.18 |