Mysql 기본 명령어 정리

2020. 7. 13. 15:17 Database/mysql

1. Database 관련 명령어


Database 접속

mysql -u 'tester' -p [dbname]

Database 원격 접속

mysql -h서버주소 -u아이디 -p패스워드

Database 생성 및 삭제

CREATE DATABASE dbname;
DROP DATABASE dbname;

Database 목록

SHOW DATABASES;

Database 사용

USE dbname;

Use Database 보기

select database();

2. User 관련 명령어


User 생성

CREATE USER 'tester'@'localhost' identified by '비밀번호';
CREATE USER 'tester'@'%' identified by '비밀번호';

'localhost'로 설정 시, 로컬에서만 사용 가능합니다.

따라서 외부에서 접근 불가능한 계정입니다. 하지만 '%'로 설정 시, 외부에서 접속가능한 계정으로 생성됩니다.


User 삭제

drop user tester@localhost;
FLUSH PRIVILEGES;

User 비밀번호 변경

방법 1

mysqladmin -u 'tester' password '새비밀번호'

방법 2

UPDATE user
SET password=password('새비밀번호')
WHERE user='tester';
FLUSH PRIVILEGES;

방법 3 (Root 계정)

set password for 'tester'@'%' = password('1234');

유저 리스트 조회

select user, host from mysql.user;

3. 권한 관련 명령어 (GRANT, REVOKE)

권한 종류

DELETE, INSERT, SELECT, UPDATE
ALTER, CREATE, DELETE, DROP, INDEX, INSERT, SELECT, UPDATE, DELETE, INSERT, SELECT, UPDATE
ALL
.......
GRANT [권한1,권한2...] ON 'dbname'.'tablename' TO '유저ID'@'[localhost][%]'
[IDENTIFIED BY 'password'] [WITH GRANT OPTION];
  • [IDENTIFIED BY 'password'] 명령어는 권한 부여와 함께 계정을 생성할 때 사용한다.
  • [WITH GRANT OPTION] 명령어는 권한 부여와 함께 GRANT 명령어를 사용할 수 있는 권한을 부여한다.

모든 권한 부여

GRANT ALL ON dbname.* TO 'tester'@'%';

일부 권한(INSERT,UPDATE,SELECT) 부여

GRANT INSERT, UPDATE, SELECT ON 'dbname'.* TO username@localhost;

모든 권한을 부여함과 동시에 tester계정 생성

GRANT ALL ON 'dbname'.* TO 'tester'@'localhost' IDENTIFIED BY '새로운 비밀번호';

이미 tester계정이 있다면 비밀번호가 새로운 비밀번호로 변경된다. 


권한 제거

REVOKE [권한1,권한2..] ON 'dbname'.* FROM 'tester'@'localhost';

유저 권한 조회

SHOW GRANTS FOR 'tester'@'localhost'

4. 기타 명령어


테이블 리스트 조회

SHOW TABLES;

테이블 이름 변경

rename table [테이블 이름] to [변경할 테이블 이름];

Mysql 기본 정보 확인

status;

Mysql version 조회

SHOW VARIABLES LIKE "%version%";

에러, 경고 메시지 확인

show errors;
show warnings;

현재 실행중인 프로세스 조회

show processlist;

프로세스 종료

kill "프로세스ID"