반응형
ERROR 1410 (42000): You are not allowed to create a user with GRANT
mysql에서 보안을 위해 유저를 만들고 권한을 줬다.
root로 로그인했는데도 저런 에러가 나타나서 정말 당황스러웠다..
이 문제가 나타난 상황은 이렇다.
mysql> create database [생성할 데이터베이스 이름];
mysql> create user [생성한데이터베이스이름]@[localhost또는%] identified by '[비밀번호]';
# '%' : 외부권한 허용
mysql> grant all privileges on [생성한데이터베이스].* to '[유저이름]'@'%' WITH GRANT OPTION;
이 상황에서 에러가 나서 정말 당황스러웠다
왜지?하고 검색을 했는데,
해결방법은 간단했다.
루트 유저를 생성하고 다시 권한을 주면 된다.
mysql> create user 'root'@'%' IDENTIFIED BY 'root';
mysql> grant all privileges ON *.* TO 'root'@'%' with grant option;
루트 유저를 만들고, 권한을 준다.
mysql> grant all privileges on [데이터베이스이름].* to '[유저이름]'@'%' with grant option;
이러면 잘 추가된다.
근데 '%'가 외부권한을 허용한다는건데, root로 외부권한을 허용하는 건 상당히 위험할 수 있다.
그러니 datagrip에 다 연결하고 나서, 혹은 개인프로젝트를 빨리 끝내버리고
mysql> revoke all on *.* from root@'%';
mysql> flush privileges;
이걸로 외부권한을 없애자
끝!
반응형
'mySQL' 카테고리의 다른 글
[mySQL]없으면 INSERT하고 있으면 UPDATE하기 (0) | 2021.02.19 |
---|---|
[mySQL]case when 조건별로 다른 결과 출력하기 (0) | 2021.02.18 |
[mySQL]타임존 바꾸기 (0) | 2021.01.23 |
[mySQL]컬럼 데이터타입 변경, 컬럼 크기 늘리기 등 (0) | 2021.01.22 |
ubuntu ec2 reboot... (0) | 2021.01.18 |