본문으로 바로가기

공부한 내용을 기록하고 정리하기 위해서 글을 쓰고 있습니다.

부족한 내용은 지속적으로 추가, 수정될 수 있습니다.


SQL을 사용해보고 싶어서 Query 버튼을 누른 다음에 DATABASE를 생성하는 Query를 작성해 실행해 보았더니 다음과 같이 에러가 떴네요. 그러고보니 지난 시간에 새로운 user를 생성하고 어떠한 권한도 부여하지 않았습니다. 새로 생성한 계정에 대해서는 권한을 부여해 주지 않으면, 데이터베이스를 생성하는 것부터 그 어떤 조작도 불가능합니다. 

Access denied for user

새로 생성한 사용자에게 권한 부여하기

권한을 부여해주기 위해서 root 권한으로 로그인 한 후, 실습을 용이하게 하기 위해서 모든 데이터베이스에 대한 권한을 부여해주도록 하겠습니다.

1
2
3
4
5
6
7
8
9
10
11
/* 특정 데이터베이스에 대해서만 모든 권한 부여하기 */
GRANT ALL PRIVILEGES ON database.* TO 'daim'@'localhost';
 
/* 모든 권한 부여하기 */
GRANT ALL PRIVILEGES ON *.* TO 'daim'@'localhost';
 
/* database의 특정 권한만 허용하기 */
GRANT SELECTINSERTDELETE ON database.* TO 'daim'@'localhost';
 
/* 유저 삭제하기 */
DROP USER 'daim'@'localhost'
cs

테이블 생성하고 삭제하기

테스트로 user라는 데이터베이스를 생성하고 SHOW DATABASES; 쿼리를 날려보니 잘 동작하네요. 이제 MySQL의 공식 문서(링크)에 있는 내용을 바탕으로 실습을 하기 위해서 다시 테이블을 삭제해줍니다.

1
2
3
4
5
/* 데이터베이스 생성하기 */
CREATE DATABASE user;
 
/* 데이터베이스 삭제하기 */
DROP DATABASE user;
cs

데이터베이스 user 생성하고 존재하는 데이터베이스 확인하기