MySQL 버전에 따른 명령어 구문

후투티·2025년 1월 16일

예전에 하던대로
사용자를 생성한 후 권한을 부여하기 위해

GRANT ALL PRIVILEGES ON 디비명.* TO '사용자'@'localhost' IDENTIFIED BY '비번';

이렇게 쳤더니

ERROR 1064 (42000): You have an error in your SQL syntax;
check the manual that corresponds to your MySQL server version 
for the right syntax to use near 'identified by '비번'' at line 1  

엥?? 왜 안 될까...
읽어보니 MySQL 서버 버전에 맞는 구문을 사용하라네..? 뒷부분에 문제가 있는 모양이구만
내가 사용한 구문은 언제 것이길래 버전을 확인해야하는거지?
지금 내 서버에 있는 MySQL의 버전은 뭐지?

이를 확인하기 위해서는
mysql --version을 치거나
MySQL 내부에서 SELECT VERSION(); 을 치면 된다!

내가 썼던 구문은 MySQL 버전 5.x 이하의 것이라고 한다.

MySQL 버전 8.0부터는 IDENTIFIED BY를 GRANT 명령어와 함께 사용할 수 없다고 한다.

그래서

GRANT ALL PRIVILEGES ON 디비명.* TO '사용자'@'localhost';

이런식으로 진행했더니 권한부여 완료~

profile
모르는 건 모른다고 하는 사람

0개의 댓글