우리가 사용하는 데이터베이스는 RDB(Relation DataBase)로 관계형 데이터베이스이다.
자세한 설명은 나중에. 일단 그렇군하고 넘어가기!
데이터베이스 > 테이블 > 필드
1. 여러 데이터(필드)들이 모여있는 것을 테이블(Table)이라고 한다.
- 테이블은 자바로 치면 클래스(class)와 같다고 볼 수 있다.
2. 그 테이블들이 모여있는 것을 데이터베이스(Database)라고 한다.
- 데이터베이스는 자바의 자바패키지(package) 와 같다고 볼 수 있다.
3. 테이블 안에는 데이터 즉, 필드(feild)들이 들어있다.
- 때문에 테이블 이름은 테이블 안의 필드(데이터)를 유추할 수 있게 적어준다.
- 자바의 클래스 이름도 클래스 안의 메서드를 유추할 수 있도록 적듯이.
DBeaver에서 주석은 -- 와 /**/ 이다.
Database 생성
데이터베이스가 있어야 테이블과 필드들이 들어갈 수 있으므로
테이블과 유저를 생성해주기 전에 앞으로 사용할 데이터베이스를 먼저 생성해준다.
create database [데이터베이스 이름];
DDL (Database Definition Language) 데이터정의어
: 데이터베이스, 테이블과 같이 데이터 구조와 관련된 명령어들
CREATE : 만들기
ALTER : 수정하기
DROP : 삭제하기
- create로 만든 건 drop으로 삭제, alter로 수정
- 나중에 insert로 만든 것과 헷갈리면 안됨! delete로 삭제, update로 수정
ROOT - 사용자 와 권한 설정
처음 DB를 설치할 때 만들어준 root로 사용자와 권한을 설정해줄 수 있다.
- root는 모든 권한을 가지고 있다.
- root를 통해 사용자의 명령어 실행 및 접근 권한을 조정할 수 있다.
- root를 통해 user 생성이 가능하고, 생성시 접근 IP대역까지 설정할 수 있다.
1) 유저 생성
CREATE USER [유저이름]@[접속가능 IP] IDENTIFIED BY [비밀번호];
쿼리문 작성 후에 ctrl + enter하면 커서가 놓여있는 줄의 쿼리문이 실행된다.
주의해야할 점은 여러 번 누르면 중복 생성이 되거나 아무튼 오류가 나게 된다.
쿼리문도 틀린 것 없는지 잘 살펴보며 쓰기! 지금은 연습이지만 실제로는 데이터를 수정,삭제 하는 것을 매우 신중히 판단해야하기 때문이다.
2) 생성된 유저 확인
- * 이 모양은 모든! 이라는 의미이다.
- 두 번째 select 문 처럼 모든 항목이 아닌 특정 항목만 가져올 수도 있다. 저 순서를 바꿔주면 불러오는 순서 또한 달라진다.
- select 문은 DML(데이터조작어)로 뒤에 설명
3) 권한 부여와 권한 회수
- 권한 부여하기
GRANT [권한] ON [데이터베이스.테이블] TO [사용자];
GRANT : 권한을 부여하겠다.
[권한] : 어떤 권한을 줄 것인지
ON [데이터베이스.테이블] : 어떤 데베,테이블에 대한 권한
TO [사용자] : 권한을 특정 사용자에게 주는 것이기 때문에 to를 쓴다
- *.* : 모든 데이터베이스, 모든 테이블
- mysql.* : mysql 데이터베이스, 모든 테이블
- select 문으로 조회하면 권한이 Y/N으로 표시되어 있어 확인해볼 수 있다.
- 권한 회수하기
REVOKE [권한] ON [데이터베이스.테이블] FROM [사용자];
4) 유저 삭제
DROP USER [아이디];
DROP USER [유저이름]@[접속가능IP];
- drop user [아이디] 인데 [아이디] 안에는 [유저이름]@[접속가능IP] 가 모두 들어가야한다.
- 'web_user'@'192.168.%' 이런식
- 유저 생성할 때 유저아이디와 접속IP와 같은 것들을 잘못 적거나 중복으로 적었는데 그 이후로 문법 오류창이 계속 떴다. 지우는 방법도 아직 몰라 애먹었는데 create로 생성한 것들은 drop으로 지울 수 있었다.
- 처음에 drop user web_user; 는 그냥 됐었는데 처음 생성했던 것이 모든 IP 접속 허용인 '%'로 생성했어서 유저이름인 web_user만 써도 됐던 것 같다.
- 유저이름 web_user에 특정IP만 접속 허용으로 한 것은 풀로 적어주지 않아 안지워졌던 것! ㅎㅎ 당황했었음.
5) 비밀번호 변경
SET PASSWORD FOR [사용자] = PASSWORD([비밀번호]);
root 에서만 user의 비밀번호를 변경할 수 있다.
비밀번호는 암호화되어 저장되기 때문에 우리가 어떤 계정의 비밀번호 잃어버렸을 때 비밀번호 찾기를 하면 이전 비밀번호를 알려주는 대신 새로운 비밀번호를 설정할 수 있도록 도와주는 것이다.
'Data > MariaDB' 카테고리의 다른 글
DB] DML 2 - SELECT (0) | 2022.04.28 |
---|---|
DB] DML 1 - INSERT / UPDATE / DELETE / UPSERT (0) | 2022.04.28 |
DB] DDL(데이터 정의어) / 테이블 (0) | 2022.04.28 |
DB] DBeaver 사용 (0) | 2022.04.28 |
DB] Maria DB , DBeaver 설치 (0) | 2022.04.25 |