mysql : cli 클라이언트
mysqladmin : 서버 관리자 프로그램
mysql_install_db : 초기 DB 설치 프로그램
DDL 데이터 정의 언어 : create alter drop 등이 명령
DML 데이터 조작 언어 : select, insert, delete, update, 등
DCL 데이터 제어 언어 : grant revoke
password가 지정이 안되어있을때는
mysqladmin password 123123
으로 지정함
-------------------------잘 안쓸거임-------------------------------------------------------------
## USER 생성 ##
create user 'user'@'%'localhost' identified by '123123';
ex) create user 'xe'@'%' identified by '123123';
## 특정USER에게 DB권한 주기 ##
grant all privileges on DB이름.테이블 to '계정아이디'@'접속위치';
ex) grant all privileges on xe.* to 'xe'@'%';
-----------------------------------------------------------------------------------------------
## USER 삭제 ## (반드시 user table에서 select user,host from user; 확인 후 삭제 대신 위 방법은 host를 구분하여 삭제가능하기때문에 좋다)
drop user '계정ID'@'접속위치';
ex ) drop user 'xe'@'localhost';
## USER | USER DB 삭제 이렇게도 가능하다 ##
delete from db where user = "계정";
delete from user where user = "계정";
## grant 를 이용한 USER,DB 한번에 생성
grant all privileges on DB이름.테이블 to 계정아이디@'localhost' identified by '패스워드';
grant all privileges on DB이름.테이블 to 계정아이디@'localhost' identified by '패스워드' with grant option;
## with grant option을 추가로 적어줄 경우 GRANT 명령어를 사용할 수 있는 권한도 할당된다. ##
show grants for 'test1'@localhost; 확인
ex ) grant all privileges on testdb.* to user@'%' identified by '123123';
REVOKE 명령어는 GRANT 명령어로 적용한 권한을 해제해주는 명령어
권한의 해제는 하단의 revoke grant option을 사용하여 해제한다.
revoke grant option on *.* from 'xxx'@localhost; < 이것은 grant 명령어를 사용할수있는 권한을 해제한다
또는 revoke all on *.* from 'test'@localhost; 로 test계정의 모든 권한을 해제한다
## mysql db에 user테이블이나 db테이블 뒤에 \G를 붙이면 좀더 자세히 확인가능하다 ##
레코드 또는 튜플 : 행 (가로)
컬럼 : 열 (세로)
현재 사용되는 대부분의 데이터베이스는 관계형 데이터베이스 모델을 기반으로 한다 (RDBMS 를 말하는것임 mysql, oracle 같은것들)
DBMS는 데이터를 저장하거나 유지보수(수정, 삭제, 추가) 관리 하는 소프트웨어이며
DBMS는 여러가지 유형이 존재한다 계층형, 네트워크형, 객체형, 관계형 등등
그중 우리가 사용하는것은 RDBMS 이다 RDBMS는 관계형 데이터베이스이다
RDBMS는 열과 행으로 이루어진 테이블기반이며, 가장많이 사용된다
테이블 행(컬럼) 단위로 검색,삽입,갱신,삭제를 쉽게해주는 관리 소프트웨어 ex.) ORACLE, mssql, MySQL 등
##프로시저 공부
##트랜잭션
mysql : cli 클라이언트
mysqladmin : 서버 관리자 프로그램
mysql_install_db : 초기 DB 설치 프로그램
DDL 데이터 정의 언어 : create alter drop 등이 명령
DML 데이터 조작 언어 : select, insert, delete, update, 등
DCL 데이터 제어 언어 : grant revoke
password가 지정이 안되어있을때는
mysqladmin password 123123
으로 지정함
-------------------------잘 안쓸거임-------------------------------------------------------------
## USER 생성 ##
create user 'user'@'%'localhost' identified by '123123';
ex) create user 'xe'@'%' identified by '123123';
## 특정USER에게 DB권한 주기 ##
grant all privileges on DB이름.테이블 to '계정아이디'@'접속위치';
ex) grant all privileges on xe.* to 'xe'@'%';
-----------------------------------------------------------------------------------------------
## USER 삭제 ## (반드시 user table에서 select user,host from user; 확인 후 삭제 대신 위 방법은 host를 구분하여 삭제가능하기때문에 좋다)
drop user '계정ID'@'접속위치';
ex ) drop user 'xe'@'localhost';
## USER | USER DB 삭제 이렇게도 가능하다 ##
delete from db where user = "계정";
delete from user where user = "계정";
## grant 를 이용한 USER,DB 한번에 생성
grant all privileges on DB이름.테이블 to 계정아이디@'localhost' identified by '패스워드';
grant all privileges on DB이름.테이블 to 계정아이디@'localhost' identified by '패스워드' with grant option;
## with grant option을 추가로 적어줄 경우 GRANT 명령어를 사용할 수 있는 권한도 할당된다. ##
show grants for 'test1'@localhost; 확인
ex ) grant all privileges on testdb.* to user@'%' identified by '123123';
REVOKE 명령어는 GRANT 명령어로 적용한 권한을 해제해주는 명령어
권한의 해제는 하단의 revoke grant option을 사용하여 해제한다.
revoke grant option on *.* from 'xxx'@localhost; < 이것은 grant 명령어를 사용할수있는 권한을 해제한다
또는 revoke all on *.* from 'test'@localhost; 로 test계정의 모든 권한을 해제한다
## mysql db에 user테이블이나 db테이블 뒤에 \G를 붙이면 좀더 자세히 확인가능하다 ##
레코드 또는 튜플 : 행 (가로)
컬럼 : 열 (세로)
현재 사용되는 대부분의 데이터베이스는 관계형 데이터베이스 모델을 기반으로 한다 (RDBMS 를 말하는것임 mysql, oracle 같은것들)
DBMS는 데이터를 저장하거나 유지보수(수정, 삭제, 추가) 관리 하는 소프트웨어이며
DBMS는 여러가지 유형이 존재한다 계층형, 네트워크형, 객체형, 관계형 등등
그중 우리가 사용하는것은 RDBMS 이다 RDBMS는 관계형 데이터베이스이다
RDBMS는 열과 행으로 이루어진 테이블기반이며, 가장많이 사용된다
테이블 행(컬럼) 단위로 검색,삽입,갱신,삭제를 쉽게해주는 관리 소프트웨어 ex.) ORACLE, mssql, MySQL 등
트랜잭션 : 하나의 논리적 작업 단위를 구성하는 일련의 연산들의 집합을 트랜잭션이라고하며 부분적으로 실행되다가 중단되지않는것을 보장한다 (InnoDB 는 트랙잭션을 지원한다 그래서 사용하는것임)
(계좌이체라고 생각하면쉽다 나는 돈을 보냈는데 은행에 정전이나서 상대방이 돈을 받지 못하는 경우가 없게 만드는것이다 아예 돈을 보내기전으로 롤백하거나 정상으로 완료된상태로 만들거나)
트랜잭션의 모든 연산은 반드시 한꺼번에 완료가되거나 한꺼번에 취소가 되어야하는 원자성을 가지고있음
롤백(Rollback): 부분 작업이 실패하면 모두 취소되어 트랜잭션 실행 전으로 되돌린다. 데이터베이스 영향을 미치지않는다
트랜잭션의 작업 중 원하는 시점에 SavaPoint를 만들어 해당 시점으로 Rollback 하는 것도 가능
커밋(Commit): 모든 부분작업이 정상적으로 완료하면 데이터베이스에 반영이되게 된다.
트랜잭션을 사용하는 이유는 많은 데이터의 Insert, Update 도중 오류 발생 시 일부의 데이터만 추가되는것을 방지하기 위해서 사용한다.
데이터베이스는 기본적으로 쿼리 하나하나 모두 커밋 한다.
MYSQL 스토리지 엔진
- MyISAM
- InnoDB
##프로시저 공부
'💾Data > 🧩Database' 카테고리의 다른 글
MySQL Replication 단방향 이중화 (0) | 2020.04.13 |
---|---|
MYSQL 복구 (0) | 2020.03.24 |
MYSQL 초기 패스워드 및 설정파일 위치 (0) | 2020.02.22 |
Binary Log(binlog) (0) | 2019.06.20 |
mysql (0) | 2019.06.17 |