Database: 227개의 글
root 계정 로그인mysql -u root -pMySQL 사용자(user) 조회MySQL의 사용자 목록을 조회하기 위해 MySQL의 기본 스키마인 mysql안에 user 테이블에서 아래와 같은 명령어를 통해 조회할 수 있다.use mysql;select user, host from user; # 사용자 목록 조회사용자 생성사용자 생성시에는 create 명령어를 사용해서 사용자를 추가할 수 있다. 내부 접근만 가능하도록 만들기 위해 host에 localhost를 넣어줬다.create user '사용자'@'host' identified by '비밀번호';# ex) 내부 접근을 허용하는 사용자 추가create user 'test'@'localhost' identified by '0000';사용자에 권한 부여..
컬럼기반 Database 학번이름전화번호 101 김하나 010-1111-1111 102 이둘 010-2222-2222 103 석삼 010-3333-3333 위와같은 예제 데이터 테이블이 있다고 가정할때, Row base/ Column base DB가 각각 어떤식으로 데이터를 저장하는지 알아보도록 하겠습니다. 로우 기반 DB data : “101;김하나;010-1111-1111,102;이둘;010-2222-2222;석삼;010-3333-3333” 위와같이 Row 단위로 데이터를 저장하게됩니다. 컬럼 기반 DB data1 : “001:101,002:102, 003:103” data2 : “001:김하나, 002:이둘, 003:석삼” data3 : “001:010-1111-1111, 002:010-2222-2..
REGEXP LIKE 연산자보다 더욱 복잡한 패턴을 검색하고 싶을 때는 REGEXP 연산자를 사용할 수 있습니다. REGEXP 연산자는 정규 표현식을 토대로 하는 패턴 매칭 연산을 제공합니다. REGEXP 연산자와 함께 사용할 수 있는 패턴은 다음과 같습니다. 패턴설명 . 줄 바꿈 문자(\n)를 제외한 임의의 한 문자를 의미함. * 해당 문자 패턴이 0번 이상 반복됨. + 해당 문자 패턴이 1번 이상 반복됨. ^ 문자열의 처음을 의미함. $ 문자열의 끝을 의미함. | 선택을 의미함.(OR) [...] 괄호([]) 안에 있는 어떠한 문자를 의미함. [^...] 괄호([]) 안에 있지 않은 어떠한 문자를 의미함. {n} 반복되는 횟수를 지정함. {m,n} 반복되는 횟수의 최솟값과 최댓값을 지정함. 만약 해당..
Mysql은 기본 isolation이 REPEATABLE-READ으로, Oracle은 COMMIT-READ으로 되어있다. 둘의 차이점은 무엇일까? 그리고 종종 Mysql에서는 Dead lock이 걸리는데 그 이유가 무엇일까? ERROR 1213 (40001): Deadlock found when trying to get lock; try restarting transaction MySQL의 InnoDB에는 lock에는 종류가 있다. - Row -level lock - Record lock - Gap lock 하나씩 알아보자 1) Row-level lock 가장 기본적인 lock으로서 테이블의 row마다 걸리는 단위다. 여기서는 2가지 종류가 있다. - Shared lock (S) - Exclusive l..
MySQL 혹은 MariaDB 환경에서 1억개의 Row가 저장되어 있다고 가정하자. 인덱싱이 지정되어 있지 않은 칼럼에서 검색을 수행했을때 데이터베이스는 1억개를 Full Scan을 하게 되어 SELECT 쿼리결과가 나오기까지 오랜시간이 필요로 한다. 이렇게 비교적(?) 대용량의 데이터를 처리하기 위해서는 여러가지 튜닝방법이 존재하는데, 튜닝의 우선순위는 아래와 같다. 1. 가급적 로직을 DB상에서 처리하지 않고 WEB Applicaition 상에서 구현한다. WEB Application 부하는 DB Server에서 발생하는 부하보다 비교적 쉽게 해결이 가능하다. Web 서버는 라운드로빈이든 L4를 활용하든 너무나 쉽게 확장이 가능한 반면, DB Server는 Master-Slave Replication..
이번에 정리할 내용은 MySQL 기준으로 페이징 처리를 할 때 사용하는 키워드인 ORDERS, LIMIT, OFFSET 입니다. 구현을 해 본 경험이 거의 없어서 좀 낯설었네요. 따라서 이번에 확실히 정리하도록 하겠습니다 !! ✔ MySQL - 페이징 처리(orders, limit, offset) 쿼리문을 통해 페이징 처리를 해볼건데요, 예제와 쿼리문을 통해 어떻게 작성하는지 알아보겠습니다. LIMIT과 OFFSET의 의미는 다음과 같습니다. • LIMIT: 행을 얼마나 가져올지 • OFFSET: 어디서 부터 가져올지 SELECT * FROM 테이블명 ORDERS LIMIT 숫자; 위 쿼리는 숫자 만큼의 행을 출력합니다. • SELECT * FROM USER orders LIMIT 10; • SELECT..
ERD (Entity Relationship Diagram) DBA가 아니더라도 요즘 개발자들의 기본 덕목(?)으로 데이터베이스를 어느정도는 알고 있어야 하죠. 데이터베이스 관련된 많은 기술중에서 이번 포스팅에서는 ERD에 대해서 정리해 보려고 합니다. 저 역시 DBA가 아니며, 개발에서 손 땐지도 한참이 지나 ERD를 제대로 그릴 자신이 없습니다. 같이 공부해 나가면서 내용을 공유하면 좋을거 같네요. 혹시 잘못된 내용이 있으면 지적해 주세요. 바로 수정하도록 하겠습니다. ERD란 말 그대로 존재하고 있는 것들의 관계를 그림으로 표현한 것입니다. 여기서 '존재하고 있는 것들'이란 데이터들이 되겠지요. 어떤 데이터와 데이터들 사이의 관계를 표현하는 방법에는 여러 가지가 있습니다. 여기서는 가장 일반적이고 ..
1. Mysql의 최대 접속자 수 확인하기. show variables like '%max_connection%'; max_connections는 mysql에서 connect할 수 있는 최대 소켓수를 정의한 값입니다. 접속 최대수를 초과해 접속 시도를 하는 경우 "too many connections error"이 발생 합니다. 2. 접속수 보기. show status like 'Max_used_connections'; 3. Connection 설정을 위한 변수. - variables (예 show variables like '%max_connection%';) max_connections – 최대 동시 접속 가능 수. max_connection 수가 늘어 나면 innodb 의 thread별 메모리 사용..
● 로콜 서버에 접속 명령어 : mysql -u 계정명 -p 예) mysql -u root -p ● 원격지에 접속 명령어 : mysql -h 호스트주소(ip) -P 포트번호 -u 계정명 -p 이때 대소문자를 구분해서 기입해 줘야 합니다. 예) mysql -h 192.168.0.33 -P 13306 -u root -p ● 원격지의 특정 database에 접속 명령어 : mysql -h 호스트주소(ip) -P 포트번호 -u 계정명 -p 디비 이름 예) mysql -h 192.168.0.33 -P 13306 -u root -p userDB 출처 : code-factory.tistory.com/44?category=724516
출처 : http://rapapa.net/?p=311 ● 샘플 데이타 생성 입력 CREATE TABLE user_info ( id bigint NOT NULL AUTO_INCREMENT COMMENT '고유 번호', name varchar(64) NOT NULL DEFAULT '' COMMENT '이름', reg_date datetime NOT NULL COMMENT '등록 시각', address varchar(64) NOT NULL DEFAULT '' COMMENT '주소', phone varchar(64) NOT NULL DEFAULT '' COMMENT '주소', PRIMARY KEY (id, name) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='테스트 ..