[MySQL] Database 생성, 권한, 삭제
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 명은 생략 가능