MySQL 8.0 이상 Grant 변경점

초콜렛빵·2024년 5월 23일
0

공부

목록 보기
3/5

MySQL 8.0 업데이트 후 오류

서버 업데이트와 함께 MySQL을 동시에 진행하였다. 5.4 버전에서 8.0 으로 업데이트를 진행했다. 그런데 갑자기 테이블이 자바단에서 생성하는 부분이 오류가 발생해 테이블이 더이상 생성되지 않았다.

Grant 부분의 오류

기존의 쿼리는

GRANT ALL PRIVILEGES ON `id`.* to 'id'@'%' identified by 'password'

로 작성이 되어 있는 상태였다.

그런데 해당 부분의 에러가
check the manual that corresponds to your MySQL server version for the right syntax to use near 'identified by 라는 에러가 발생하였다.

이 에러같은 경우는 8.0 이후에 보안관련 내용이 강화되고 유저 생성 방식이 달랐다.

변경점

유저 먼저 생성

CREATE USER 'testuser'@'localhost' IDENTIFIED BY 'testpassword';

해당 유저에게 권한 부여

GRANT ALL PRIVILEGES ON test_db.* TO 'testuser'@'localhost';
FLUSH PRIVILEGES;

이런식으로 유저를 생성한 후 권한 부여하는 방식으로 변경

또한, 유저에 대해서 비밀번호 저장하는 방식의 변경되었고, 해당 정책 확인 방식

show variables like 'validate_password%';

위의 쿼리문으로 정책을 확인하고 정책 변경을 통해 처리해준다.

profile
차근차근 기록하고 배우는 개발자

0개의 댓글