Search

DB 관리 명령어 (+CMD)

대분류
DB
소분류
MySQL
주요 레퍼런스
https://velog.io/@taekwon/MySQL-%EC%9E%90%EC%A3%BC-%EC%93%B0%EB%8A%94-MySQL-%EB%AA%85%EB%A0%B9%EC%96%B4-%EC%A0%95%EB%A6%AC
수준
기초
태그
CREATE
USE
RENAME
DROP
SELECT
GRANT
최종 편집 일시
2024/10/27 15:43
생성 일시
2024/01/22 09:45
13 more properties

MySQL 접속 (mysql : CMD)

$> mysql -u root -p $> mysql -u <계정이름> -p $> Enter password: (계정의 비밀번호)
SQL
복사

원하는 이름으로 DATABASE 생성 (CREATE)

CREATE DATABASE (생성할 DATABASE 이름);
SQL
복사

현재 서버 안 DATABASE/현재 DATABASE 안 table 조회 (SHOW)

SHOW DATABASES; SHOW TABLES;
SQL
복사

원하는 이름의 DATABASE 접속 (USE)

USE (접속할 DATABASE 이름) (성공 시 아래와 같이 뜬다) DATABASE changed
SQL
복사

기존의 DATABASE table을 다른 DATABASE table로 이동 (RENAME TABLE ... TO ~)

(주의) .table을 뒤에 붙이는 걸 잊지 말자.
RENAME TABLE (기존의 DATABASE 이름).table TO (옮겨질 DATABASE 이름).table;
SQL
복사

원하는 DATABASE 삭제 (DROP)

DROP DATABASE (삭제할 DATABASE 이름)
SQL
복사

table에서 원하는 column 출력 (SELECT ~ FROM ...)

*는 wildcard라 불리우며, 모든이라는 뜻을 지닌다.
# table의 모든 column을 출력 SELECT * FROM (table 이름) # table의 특정 column 출력 SELECT (출력할 column 1) (출력할 column 1) FROM (table 이름)
SQL
복사

사용자 계정 생성 : CREATE USER

CREATE USER '계정이름'@IP IDENTIFIED by '비밀번호';
SQL
복사

사용자 계정 비밀번호 변경 : SET PASSWORD

SET password for 'userid'@'%' = 'password';
SQL
복사

사용자 계정 권한 부여 : GRANT

GRANT SELECT, INSERT, DELETE, UPDATE ON <데이터베이스이름>.* TO <ID> IDENTIFIED by <ID>; GRANT ALL privileges ON classicmodels.* TO '계정이름'@'%'; -- %는 모든 IP주소
SQL
복사

권한 정의

SELECT : 데이터 베이스의 데이터 질의
INSERT : 새로운 데이터 삽입 권한
DELETE : 기존 데이터 레코드 삭제 권한
UPDATE : 기존 데이터 레코드 업데이트 권한

<데이터베이스 이름>.*

권한이 적용되는 데이터베이스와 테이블 정의
<데이터베이스 이름>에 포함된 모든 테이블에 지정된 권한 적용

TO <ID>

권한이 적용되는 사용자 계정 지정

desc 테이블명

스키마 정보가 출력
단독으로 쓰일땐 description
select와 같이 쓰일땐 descending

FLUSH PRIVILEGES;

현재 사용중인 MySQL의 캐시를 지우고 새로운 설정을 적용하기 위해 사용
이 명령어를 사용하려는 사용자는 reload권한을 가지고 있어야 함.
보통은 INSERT, DELETE, UPDATE를 통해 사용자를 추가, 삭제, 권한 변경 등을 수행하였을 때 이 변경 사항을 반영하기 위하여 사용한다.
이 떄 FLUSH PRIVILEGES는 grant 테이블을 reload함으로서 변경 사항을 즉시 반영하도록 한다.
만약 INSERT, DELETE, UPDATE와 같은 SQL문을 사용하지 않고 바로 grant 명령어를 사용하여 작업하였다면 FLUSH PRIVILEGES를 실행할 필요가 없어진다.
단 엄청난 부하가 걸림, 꽤나 성능에 영향을 준다.