MySQL접속, Database관리, User 관리

JYJ·2022년 2월 15일
0

SQL / MySQL

목록 보기
2/25

MySQL접속


  • MySQL에 처음 접속할 때 계정을 추가적으로 생성한 일이 없기 때문에 로그인 가능한 계정은 root 계정 뿐이다.
  • root계정은 관리자 계정으로, 모든 권한을 보유하고 있는 계정이기 때문에, DB 관리자 이외의 계정들은 root계정이 아닌 최소한의 권한만을 부여받은 계정을 이용해야 보안 상 유리하다.

✔ root계정으로 mysql에 접속 (터미널에서 실행)

mysql -u root -p
Enter password:

✔ 현재 database 목록 확인

SHOW DATABASES;

✔ database 생성

CREATE DATABASE dbname DEFAULT CHARACTER SET utf8mb4;

✔ 해당 데이터베이스로 이동(사용)

USE dbname;

✔ database 삭제

DROP DATABASE dbname;

MySQL에서는 스키마와 데이터베이스가 같은말로 쓰인다고 한다.

스키마(데이터베이스) 안에 테이블이있고, 테이블안에 데이터가 있다.

User 관리


✔ User 조회 : 사용자 정보는 mysql에서 관리하므로 먼저 mysql 데이터베이스로 이동 후 조회

USE mysql;
SELECT host, user FROM user;
-> user라는 테이블에서 host와 user을 조회

✔ User 생성 (localhost) : 현재 pc에서만 접속 가능한 사용자를 비밀번호와 함께 생성

CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';

✔ User 생성 (%) : 외부에서 접속 가능한 사용자를 비밀번호와 함께 생성

CREATE USER 'username'@'%' IDENTIFIED BY 'password';

✔ User 삭제 : 접근 범위에 따라 같은 이름의 사용자여도 별도로 삭제해야함

DROP USER 'username'@'localhost';
DROP USER 'username'@'%';

권한 관리


✔ User 권한 확인 : 현재 pc에서 접근 가능한 사용자에게 부여된 모든 권한 목록을 확인

SHOW GRANTS FOR 'username'@'localhost';

✔ 사용자 권한 부여 : 현재 pc에서 접속 가능한 사용자에게 특정 데이터베이스의 모든 권한을 부여

GRANT ALL ON dbname.* TO 'username'@'localhost';

✔ 사용자 권한 제거 : 현재 pc에서 접근 가능한 사용자에게 부여된 특정 데이터베이스의 모든 권한을 삭제

REVOKE ALL ON dbname.* FROM 'username'@'localhost';

✔ 참고 - 수정내용이 아직 적용이 되지 않은 경우 새로고침

FLUSH PRIVILEGES;
profile
Study note

0개의 댓글