show databases;
를 입력한다.;
를 입력하지 않아도 실행된다.Database 란, 여러 사람이 공유하여 사용할 목적으로 체계화해 통합, 관리하는 데이터의 집합체
DBMS(Database Management System) 란, 사용자와 데이터베이스 사이에서 사용자의 요구에 따라 정보를 생성해주고 데이터베이스를 관리해주는 소프트웨어
ex) MySQL
관계형 데이터베이스(RDB : Relational Database) 란, 서로 간에 관계가 있는 데이터 테이블들을 모아둔 데이터 저장공간
ex) MySQL
cf) 비관계형 데이터베이스
데이터 간에 관계가 없고, 어떤 데이터셋을 무한정 누적시켜 저장만 하는 공간
SQL(Structured Query Language) 이란, 데이터베이스에서 데이터를 정의, 조작, 제어하기 위해 사용하는 언어
-> 파이썬처럼 프로그래밍 언어이지만, 대상이 DBMS 이다.
데이터 정의 언어 (DDL : Data Definition Language) | 데이터 조작 언어 (DML : Data Manipulation Language) | 데이터 제어 언어 (DCL : Data Control Language) |
---|---|---|
CREATE, ALTER, DROP 등의 명령어 | INSERT, UPDATE, DELETE, SELECT 등의 명령어 | GRANT, REVOKE, COMMIT, ROLLBACK 등의 명령어 |
mysql -u root -p
를 입력하고 password를 입력한다.-u
: user , root
: root계정 , -p
: password)이 과정이 번거로워서 방법을 찾아보니 환경변수에 위의 경로를 추가해주면 된다.
제어판 -> 시스템 및 보안 -> 시스템 -> 고급 시스템 설정 -> 환경 변수 path에 추가
=> 설정해주니, 바로 mysql -u root -p 하니까 비밀번호 입력하라고 나온다 !
mysql -u root -p
를 입력하지 않아도 바로 password 입력할 수 있다.;
: 즉시 실행해줘show databases;
: 현재의 데이터베이스 목록을 보여줘create database mydb;
: mydb 라는 데이터베이스를 생성해줘use mydb;
: mydb 로 이동 해줘drop database mydb;
: mydb 라는 데이터베이스를 삭제해줘현재 PC 에서만 접속 가능한 사용자 와 외부에서 접속 가능한 사용자와 나뉜다.
현재 PC 에서만 접속 가능한 사용자를 생성해보자.
'localhost'
: 현재 PC 에서만 접속 가능한 사용자 라는 뜻
'%'
: 외부에서 접속 가능한 사용자 라는 뜻
기본적으로 user 이름이 같으면 안되지만 host 정보가 다르면, user 이름이 같아도 상관없다.
use mysql;
: mysql로 이동한다.
select host, user from user;
: user 테이블에서 host와 user 정보를 가져와라.
create user 'zero'@'localhost' identified by '1234';
: 비밀번호가 '1234' 인 현재 PC에서만 접속 가능한 'zero'라는 유저를 생성해라.
drop user 'zero'@'%';
: 외부에서 접속 가능한 'zero'라는 유저를 삭제해라.
✍
사용자 정보는 mysql 이라는 데이터베이스에서 관리한다. 그래서 user 테이블에서 host, user 정보를 가져오려면,
use mysql;
➨select host, user from user;
의 순서로 실행해야 한다.
use mysql
이 이미 적용되어 있는 상태로 mysql 데이터베이스로 이동되어 있는 상태이다 !create database mydb;
: mydb 데이터베이스 생성
create user 'zero'@'localhost' identified by '1234';
: 비밀번호가 '1234' 인 현재 PC에서만 접속 가능한 'zero'라는 유저를 생성
show grants for 'zero'@'localhost';
: 현재 PC에서만 접속 가능한 'zero'라는 유저의 권한 정보를 보여줘
grant all on mydb.* to 'zero'@'localhost';
: 현재 PC에서만 접속 가능한 'zero'라는 유저에게 mydb 데이터베이스의 모든 테이블(*)에 대한 모든 권한을 부여한다.
revoke all on mydb.* from 'zero'@'localhost';
: 현재 PC에서만 접속 가능한 'zero'라는 유저로부터 mydb 데이터베이스의 모든 테이블(*)에 대한 모든 권한을 취소한다.
✍
만약, 권한을 삭제했는데도 권한이 존재한다면
flush privilege
(새로고침) 을 해주면 된다.