■ 테이블과 컬럼▶︎ 테이블맨 끝에 \G를 붙이는것과 안붙였을때의 차이가 조금 있습니다.G\를 안붙였을 경우 결과를 테이블 형식으로 보여주고 붙였을 경우 리스트 형식으로 보여줍니다.SHOW CREATE TABLE 명령문mysql> show create table Account;+---------+-------------------------------------------------------------------------------------------------------------+| Table | Create Table ..
■ SHOW Variables 명령 형식SHOW [GLOBAL | SESSION] VARIABLES [LIKE 'pattern' | WHERE expr] SHOW VARIABLES는 MySQL 시스템 변수의 값을 보여줍니다 (5.1.7 절.“서버 시스템 변수”참조). 이 진술은 특권이 필요하지 않습니다. 서버에 연결하는 기능 만 필요합니다. 참고로 MySQL 5.7.6부터 show_compatibility_56 시스템 변수의 값은 여기에 설명 된 명령문에 사용 가능한 정보 및 필요한 특권에 영향을줍니다. 자세한 내용은 “서버 시스템 변수”에서 해당 변수에 대한 설명을 참조합니다. 시스템 변수 정보는 다음 소스에서도 사용 가능합니다.+ 성능 스키마 테이블(performance schema).+ GLO..
■ SHOW WARNINGS 명령문SHOW WARNINGS [LIMIT [offset,] row_count]SHOW COUNT(*) WARNINGS SHOW WARNINGS는 현재 세션에서 명령문을 실행하여 발생하는 조건(오류, 경고 및 참고)에 대한 정보를 표시하는 진단 명령문입니다. INSERT, UPDATE 및 LOAD DATA와 같은 DML문과 CREATE TABLE 및 ALTER TABLE과 같은 DDL문에 대해 경고가 생성됩니다. LIMIT절은 SELECT문과 동일한 구문을 갖습니다. EXPLAIN에 따라 생성 된 확장 정보를 표시하기 위해 EXPLAIN에 따라 SHOW WARNINGS도 사용됩니다. 링크-https://myinfrabox.tistory.com/81?category=829169..
■ 테이블 정보와 컬럼 정보▶︎ 테이블 정보맨 끝에 \G를 붙이는것과 안붙였을때의 차이가 조금 있습니다.G\를 안붙였을 경우 결과를 테이블 형식으로 보여주고 붙였을 경우 리스트 형식으로 보여줍니다. •SHOW CREATE TABLE Statementmysql> show create table Account;+---------+-------------------------------------------------------------------------------------------------------------+| Table | Create Table ..
■ AES 암호화 기법MySQL에서 제공하는 암호화 기법은 여러가지가 있습니다.https://dev.mysql.com/doc/refman/5.7/en/encryption-functions.html 그중에 키를 이용한 AES 암호화 기법이 있습니다. 이것에 대해 한번 알아보겠습니다. 이 암호화 기법은 AES 암호 알고리즘(Advanced Encryption Standard)이라고 합니다.다음을 참고하시면 자세한 내용을 확인해 보실 수 있습니다.https://namu.wiki/w/AES ■ 암호화 설정암호화 방식은 서버 변수로 설정을 합니다. 이 설정 방법에 따라 강력한 암호화를 설정할 수 있습니다.대신 그만큼 성능이 낮아지는것은 참고하셔야 합니다. 서버변수중 block_encryption_mode이란 변..
■ SHOW ENGINE 명령어 사용법SHOW ENGINE engine_name {STATUS | MUTEX} SHOW ENGINE은 스토리지 엔진에 대한 운영 정보를 표시합니다. PROCESS 권한이 필요합니다. 이 문장에는 다음과 같은 다양한 방법이 있습니다.SHOW ENGINE INNODB STATUSSHOW ENGINE INNODB MUTEXSHOW ENGINE PERFORMANCE_SCHEMA STATUSSHOW ENGINE INNODB STATUS 표시는 InnoDB 스토리지 엔진의 상태에 대한 표준 InnoDB 모니터의 광범위한 정보를 표시합니다.InnoDB 모니터 바로가기SHOW ENGINE INNODB MUTEX는 InnoDB 뮤텍스 및 rw-lock 통계를 표시합니다. SHOW ENGI..
■ Prepared 명령(Prepared Statement)• PREPARE Statement• EXECUTE Statement• DEALLOCATE PREPARE Statement MySQL 5.7은 server-side prepared statements을 지원합니다. 이 지원은 효율적인 클라이언트 / 서버 바이너리 프로토콜을 활용합니다. 매개 변수 값에 자리 표시 자와 함께 prepared statements을 사용하면 다음과 같은 이점이 있습니다.+ 실행될 때마다 명령문을 구문 분석하기위한 오버 헤드가 줄어 듭니다. 일반적으로 데이터베이스 응용 프로그램은 쿼리 및 삭제 WHERE, 업데이트 SET 및 삽입 VALUES와 같은 절의 리터럴 또는 변수값만 변경하여 대량의 거의 동일한 명령문을 처리합니..
■ KILL 명령어KILL [CONNECTION | QUERY] processlist_idmysqld에 대한 각 연결은 별도의 스레드에서 실행됩니다. KILL processlist_id 문으로 스레드를 강제 종료 할 수 있습니다. 스레드 프로세스 목록 식별자는 INFORMATION_SCHEMA PROCESSLIST 테이블의 ID 컬럼, SHOW PROCESSLIST 출력의 ID컬럼 및 성능 스키마 스레드 테이블의 PROCESSLIST_ID 컬럼에서 확인할 수 있습니다. 현재 스레드의 값은 CONNECTION_ID () 함수에 의해 리턴됩니다. KILL은 선택적 CONNECTION 또는 QUERY 수정자를 허용합니다.+ KILL CONNECTION은 수정자가 없는 KILL과 같습니다. 연결이 실행중인 명령..
■ InnoDB AUTO_INCREMENT Lock 모드innodb_autoinc_lock_mode 구성 매개 변수에 대한 세 가지 가능한 설정이 있습니다. 설정은 "전통", "연속"또는 "인터리브 된"잠금 모드에 대해 각각 0, 1 또는 2입니다. + innodb_autoinc_lock_mode = 0 (“전통(traditional)” lock mode)전통적인 잠금 모드는 innodb_autoinc_lock_mode 구성 매개 변수가 MySQL 5.1에 도입되기 전에 존재했던 것과 동일한 동작을 제공합니다. 기존 잠금 모드 옵션은 시맨틱의 차이로 인해 "혼합 모드 삽입"과 관련된 문제와의 호환성, 성능 테스트 및 이전 버전과의 호환성을 위해 제공됩니다. 이 잠금 모드에서 모든 "INSERT-문과 비슷..
명령어 형식 TRUNCATE [TABLE] tbl_name TRUNCATE TABLE 명령문은 테이블의 내용을 완전하게 비웁니다. Drop 권한이 필요합니다. 테이블의 TRUNCATE TABLE은 HANDLER OPEN으로 열린 테이블의 모든 핸들러를 닫습니다. 논리적으로 TRUNCATE TABLE은 모든 행을 삭제하는 DELETE 문, 또는 DROP TABLE 및 CREATE TABLE 문 시퀀스와 유사합니다. 고성능을 달성하기 위해 데이터를 삭제하는 DML 방법을 무시합니다. 따라서 롤백할 수 없고 ON DELETE 트리거가 발생하지 않으며 부모-자식 외래 키 관계가있는 InnoDB 테이블에 대해 수행될 수 없습니다. TRUNCATE TABLE은 DELETE와 비슷하지만 DML 문이 아닌 DDL문으로..
■ MySQL이 메모리를 사용하는 방법MySQL은 데이터베이스 작업 성능을 향상시키기 위해 버퍼와 캐시를 할당합니다. 기본 구성은 약 512MB의 RAM이 있는 가상 머신에서 MySQL 서버를 시작하도록 설계되었습니다. 특정 캐시 및 버퍼 관련 시스템 변수의 값을 증가시켜 MySQL 성능을 향상시킬 수 있습니다. 메모리가 제한된 시스템에서 MySQL을 실행하도록 기본 구성을 수정할수도 있습니다. 다음 목록은 MySQL이 메모리를 사용하는 몇 가지 방법을 설명합니다. 해당되는 경우 관련 시스템 변수가 참조됩니다. 일부 항목은 스토리지엔진 또는 기능에 따라 다릅니다.+ InnoDB 버퍼풀은 테이블, 인덱스 및 기타 보조 버퍼에 대해 캐시된 InnoDB 데이터를 보유하는 메모리 영역입니다. 대량 읽기 조작의 ..
■ XA 트랜잭션▶︎ XA 트랜잭션 SQL 문▶︎ XA 거래 상태▶︎ XA 거래에 대한 제한 InnoDB 스토리지 엔진에 XA 트랜잭션 지원이 제공됩니다. MySQL XA구현은 X/Open CAE 문서의 분산 트랜잭션 처리:XA 사양을 기반으로 합니다. 이 문서는 The Open Group에서 발행했으며 http://www.opengroup.org/public/pubs/catalog/c193.htm에서 볼 수 있습니다. 현재 XA 구현의 제한 사항은 아래에서 설명드립니다. 클라이언트 측에는 특별한 요구 사항이 없습니다. MySQL 서버에 대한 XA 인터페이스는 XA 키워드로 시작하는 SQL 문으로 구성됩니다. MySQL 클라이언트 프로그램은 SQL 문을 전송하고 XA문 인터페이스의 의미를 이해할 수 있어..