MYSQL: 74개의 글
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';사용자에 권한 부여..
REGEXP LIKE 연산자보다 더욱 복잡한 패턴을 검색하고 싶을 때는 REGEXP 연산자를 사용할 수 있습니다. REGEXP 연산자는 정규 표현식을 토대로 하는 패턴 매칭 연산을 제공합니다. REGEXP 연산자와 함께 사용할 수 있는 패턴은 다음과 같습니다. 패턴설명 . 줄 바꿈 문자(\n)를 제외한 임의의 한 문자를 의미함. * 해당 문자 패턴이 0번 이상 반복됨. + 해당 문자 패턴이 1번 이상 반복됨. ^ 문자열의 처음을 의미함. $ 문자열의 끝을 의미함. | 선택을 의미함.(OR) [...] 괄호([]) 안에 있는 어떠한 문자를 의미함. [^...] 괄호([]) 안에 있지 않은 어떠한 문자를 의미함. {n} 반복되는 횟수를 지정함. {m,n} 반복되는 횟수의 최솟값과 최댓값을 지정함. 만약 해당..
1. 서비스 소개 AWS RDS(Relational Database Service)는 클라우드에서 관계형 데이터베이스를 쉽게 설치, 운영 및 확장할 수 있는 관리형 서비스이며, 주요 특징은 다음과 같습니다. Amazon Aurora, MySQL, MariaDB, Oracle, SQL Server 및 PostgreSQL 데이터베이스 엔진을 지원 DB 인스턴스 백업 및 복구를 위한 두 가지 방법, 즉 자동 백업 및 데이터베이스 스냅샷(DB 스냅샷)을 제공 40개의 DB 인스턴스 보유 가능 스키마 제한이 없음 (일부제외) RDS FAQ를 참고한 내용이며, 더 자세한 내용은 공식문서를 확인하시길 바랍니다. 아마존에서는 여러 DBMS 중에서 자사 제품인 오로라(Aurora)를 밀어주고 있는데, 그 특징은 다음과 ..
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 기준으로 페이징 처리를 할 때 사용하는 키워드인 ORDERS, LIMIT, OFFSET 입니다. 구현을 해 본 경험이 거의 없어서 좀 낯설었네요. 따라서 이번에 확실히 정리하도록 하겠습니다 !! ✔ MySQL - 페이징 처리(orders, limit, offset) 쿼리문을 통해 페이징 처리를 해볼건데요, 예제와 쿼리문을 통해 어떻게 작성하는지 알아보겠습니다. LIMIT과 OFFSET의 의미는 다음과 같습니다. • LIMIT: 행을 얼마나 가져올지 • OFFSET: 어디서 부터 가져올지 SELECT * FROM 테이블명 ORDERS LIMIT 숫자; 위 쿼리는 숫자 만큼의 행을 출력합니다. • SELECT * FROM USER orders LIMIT 10; • SELECT..
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
● 설정 기본 하드웨어 : 대용량 InnoDB에서는 CPU보다 메모리가 성능에 더 영향을 미칩니다. 빠른 입출력을 원한다면 SSD나 SAS를 사용하는게 유리 합니다. ● my.cnf [code lang="bash"] vi /etc/my.cnf [/code] [code lang="Apache"] [client] port = 3306 socket = /tmp/mysql.sock [mysqld] # generic configuration options port = 3306 socket = /tmp/mysql.sock back_log = 100 max_connections = 500 max_connect_errors = 10 table_open_cache = 2048 max_allowed_packet = 16M..
● MySQL Memory MySQL은 하나의 프로세스로 동작 합니다. 세션은 thread로 확장되고 시스템 자원을 할당 받습니다. MySQL의 Memory 부분은Connection 수의 영향을 받는 부분이며 항상 주의를 요해야 합니다. ● Memory Management MySQL 레퍼런스에 나온 식 : innodb_buffer_pool_size + key_buffer_size + max_connections*(sort_buffer_size+read_buffer_size+binlog_cache_size) 레퍼런스에 달린 코멘트 (by David Tonhofer) total memory = innodb_buffer_pool_size + key_buffer_size + innodb_additional_me..
Index 개요 Index는 MYI (MySQL Index)파일에 저장 됩니다. Index가 설정되지 않았다면 Table Full Scan이 일어 나 성능이 저하 되거나 치명적인 장애가 발생 합니다. Index는 검색 속도를 향상 시키는 장점이 있지만, update, insert, delete 속도는 저하 됩니다. 이는 Table의 Index 색인 정보를 갱신하는 비용이 추가 되기 때문입니다. Index 설정시 이런 부분들을 위의 하여 효율적인 컬럼 선정이 이루어 져야 합니다. 주 목적은 다음과 같습니다. 조건과 일치하는 열을 빨리 찾기 위해 사용. JOIN시 다른 Table의 열을 추출 하기 위해 사용. Max, Min값을 찾기 위해 사용. 다음과 같은 사항을 고려 하여 사용하면 좋습니다. Index의..