[MySQL] Database 생성, 권한, 삭제 updated_at: 2024-12-15 04:01

MySQL 에서 Database 생성 및 권한부여

Database 생성

Login To Mysql

관리자 계정인 root로 DBMS에 접속 후 password를 입력한다.

mysql -uroot -p

데이타 베이스 생성

mysql> CREATE DATABASE [생성할 DB명];

생성된 DB 확인

mysql> show databases;

사용할 DB 선택

mysql> use [DB명];

DB내 모든 테이블 확인

mysql> show tables;

테이블의 구조(스키마) 확인(DESCRIBE 명령)

mysql> desc [table명];

사용자 및 권한 부여를 별도로 할경우

사용자 생성 + 권한부여 (동시 처리)

  • 사용자 생성 및 권한 부여를 동시에 할 경우
mysql> GRANT ALL PRIVILEGES ON [생성한 DB명].* TO [사용자 계정명]@[접근할 IP] IDENTIFIED BY '[사용자 패스워드]';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION; // root 접근 권한
mysql> FLUSH PRIVILEGES;

사용자 생성(별도)

  • 특정 IP만 접근 허용시
mysql> CREATE USER [사용자 계정명]@[접근할 IP] IDENTIFIED BY '[사용자 패스워드]';
  • 로컬에서만 접근할 경우
mysql> CREATE USER [사용자 계정명]@'localhost' IDENTIFIED BY '[사용자 패스워드]';
  • 모든곳에서 접근할 경우(비추천)
mysql> CREATE USER [사용자 계정명]@'%' IDENTIFIED BY '[사용자 패스워드]';

권한부여(별도)

  • 생성된 계정에 대한 권한을 부여합니다.
mysql> GRANT ALL PRIVILEGES ON [생성한 DB명].* TO [사용자명]@[접근할 IP];
mysql> FLUSH PRIVILEGES;

부여된 권한 확인

mysql> SHOW GRANTS FOR [사용자 계정명]@localhost;
mysql> SHOW GRANTS FOR [사용자 계정명]@'%';
mysql> SHOW GRANTS FOR [사용자 계정명]@[IP];

부여된 권한 삭제

mysql> REVOKE ALL ON [DB명].[테이블명] FROM [사용자 계정명];

사용자 계정을 이용한 DB접속

mysql -h[호스트명] -u[사용자 계정명] -p [DB명] # -h 및 db 명은 생략 가능
평점을 남겨주세요
평점 : 5.0
총 투표수 : 1

질문 및 답글