728x90
MySQL 기본 명령어 - 데이터베이스
- 본 포스팅은 Windows를 기준으로 작성되었습니다
사용할 데이터베이스 지정하기
- A. 로그인시 지정하기
- Windows 프롬프트 상에서 사용
- 명령어 : mysql –u계정 –p비밀번호 데이터베이스명
-
mysql -uroot -p mysql 또는 mysql -uroot -p1234 mysql
- B. 로그인 후 지정하기
- MySQL 내의 “mysql>” 프롬프트 상에서 사용
- 명령어 : use 데이터베이스명
-
show databases; use mysql;
데이터베이스 및 테이블 리스트 보기
- A. 데이터베이스 리스트 보기
- 명령어 : show databases;
-
show databases;
- B. 테이블 리스트 보기
- 데이터베이스를 선택한 후 사용
- 명령어 : show tables;
-
use mysql; show tables;
- C. 테이블 구조 살펴보기
- 데이터베이스를 선택한 후 사용
- 명령어 : desc 데이블명;
-
use mysql; desc user;
데이터베이스 생성 및 삭제
- A. 데이터베이스 생성
- 명령어 : create database 데이터베이스명;
-
show databases; create database testdatabase; show databases;
- B. 데이터베이스 삭제
- 명령어 : drop database 데이터베이스명;
-
show databases; drop database testdatabase; show databases;
MySQL 기본 명령어 - 사용자 계정
사용자 계정 만들기
- A. 현재 등록되어 있는 계정 확인하기
- mysql내의 user 테이블의 투플 확인
- 조회하고자하는 속성을 지정
- 명령어 : select 속성1, … , 속성n from user;
- 전체 속성을 나타내기 위하여 * 사용
- [참고]
- localhost : 자기 자신의 컴퓨터
- password
- 암호화되어 저장됨
- 암호화된 것을 풀수 있는 방법은 제공되지 않음
- [참고]
-
use mysql; select host, user, password frm user;
- 전체 속성을 나타내기 위하여 * 사용
- B. 계정 만들기
- 계정을 등록하는데 사용되는 테이블 : mysql 데이터베이스 내의 user와 db
- 명령어
- 비밀번호 없는 계정 만들기
- CREATE USER ‘계정이름’@’localhost’;
-
use mysql; select host, user, password frm user; create user 'kimc'@'localhost'; select host, user, password frm user;
- 비밀번호 없는 계정 만들기
- C. 비밀번호를 가진 계정 만들기
- CREATE USER ‘계정이름’@’localhost’ IDENTIFIED BY ‘비밀번호’;
-
use mysql; select host, user, password frm user; create user 'kimc'@'localhost' identified by '1234'; select host, user, password frm user;
사용자 계정에 권한 부여 및 삭제
- A. 지정한 계정에 특정 데이터베이스 접근 권한 주기
- (1) 주의 사항
- root 계정에서만 사용자 계정의 데이터베이스 접근 권한을 줄 수 있음
- 접근권한을 설정하기 전에는 데이터베이스에 접근 불가능
- 접근 권한을 부여하지 않은 데이터베이스에는 접근할 수 없음
- (2) 접근 권한 부여 전
- 예
- kimc 계정에 testdatabase 데이터베이스 접근 권한 부여 전
- 접근 가능한 데이터베이스 확인
-
show databases;
- kimc 계정에 testdatabase 데이터베이스 접근 권한 부여 전
- 예
- (4) 접근 권한 부여 명령어
- 명령어
- 총 19개의 ‘y’
-
insert into db values ( ‘localhost’, ‘데이터베이스명’, ‘계정’, ‘y’, ‘y’, ... ‘y’ );
- 명령어
- (5) 시스템에 적용하기 전
- kimc 계정에 로그인
- 접근 가능한 데이터베이스 확인
- 데이터베이스 사용 시도
-
use testdatabase
- (6) 변경된 설정 시스템에 적용하기
- db에 추가된 권한은 시스템에 자동으로 적용되지 않음
- 명령어 : flush privileges;
-
flush privileges;
- (1) 주의 사항
- B. 계정의 권한 설정
- user 테이블에 정의된 모든 권한을 계정에 부여
- 모든 데이터베이스에 적용됨
- 명령어
- GRANT ALL PRIVILEGES ON * .* TO ‘계정’@‘localhost’ WITH GRANT OPTION;
-
grant all privileges on * .* to 'kimc'@'localhost' with grant option;
계정 비밀번호 변경하기
- 계정 비밀번호는 user 테이블에 암호화되어 저장되어 있다.
- 비밀번호 변경은 user 테이블의 password 속성을 변경하는 것
- 암호화시키기 위하여 password( ) 함수를 사용
- (1) 계정의 비밀번호 변경
- 명령어 : update user set password=password( ‘새비밀번호’ ) where user=’계정‘;
- (2) 변경된 비밀번호로 계정에 로그인하기
- 변경된 설정을 시스템에 적용하기
- MySQL 내에서 flush privileges; 사용
- 변경된 설정을 시스템에 적용하기
- (1) 계정의 비밀번호 변경
계정 삭제하기
- 계정 정보는 user 테이블에 있으며, 삭제할 계정의 레코드(투플)을 삭제
- 명령어 : drop user ‘계정’@‘localhost’;
-
drop user 'kimc'@'localhost';
728x90
'프로그래밍 > Database' 카테고리의 다른 글
기본키, 대체키, 외래키, 테이블 제약 조건 (0) | 2020.04.07 |
---|---|
MySQL 테이블 생성, AUTO_INCREMENT(자동증가) (0) | 2020.04.07 |
Windows(윈도우)에 MySQL 설치방법 (0) | 2020.04.06 |
[Database] 순수관계 연산자란? (3) (0) | 2020.04.06 |
[Database] 순수관계 연산자란? (2) (0) | 2020.04.06 |