본문 바로가기
Archive

access denied for user 'root'@'% ' to database 를 마주했다면

by livemehere 2022. 4. 9.

mysql 이나 mariadb를 사용할때 권한이 없다면 발생하는 문제입니다.

일반적으로 root@localhost 에게는 모든 권한이있지만, workbench와 같은 툴을 사용해서 원격으로 db에 접속하게된다면

root@접속한아이피 로 접속을 하게됩니다.

여기서 root@%는 모든 아이피를 의미합니다

workbench로 접속하여 스키마를 생성하거나, 백업한 데이터를 import 할때, 제목과같은 에러가 난다면

db에 접속한 유저에게 db를 다룰 권한이 없음을 의미합니다.

그럴땐 db가 설치된 터미널로 가셔서, mysql(mariadb)에 접속하신 후 아래와같은 명령어로 모든 권한을 부여하시면 됩니다.

GRANT ALL PRIVILEGES on *.* TO 'root'@'%' WITH GRANT OPTION

 

저같은 경우에 개발용으로 서버를 docker 환경으로 띄워놓았는데, db컨테이너만 갑자기 중지되어 다시 실행해보니 위와같은 에러가 발생하였습니다.

 

config파일이 잘못된건지... 저도 권한을 주기 위한 명령어를 찾다가 해결하여 경험을 공유합니다.

반응형