본문 바로가기

Dolphhong51

MySQL 8.0 Clone 이 문서는 다음 link 를 번역한 내용과 + 테스트 중 확인한 내용을 추가하였다. https://mysqlserverteam.com/clone-create-mysql-instance-replica/ Cloning MySQL instance 복제를 위해서 MySQL replica 를 만드는 것은 너무 많은 과정이 포함되어있어서 번거롭다. (백업/복구/binlog file, position 맞추기 등 - 이 post 에서는 해당 내용을 설명하지는 않겠다.) Clone plugin 을 사용하면 replica 생성을 간단하게 해결할 수 있다. MySQL 8.0.17 부터 CLONE SQL 구문이 소개되었다. 현재 MySQL 서버에서 clone 하여 다른 MySQL 서버에 구성한다. Doner : source .. 2019. 12. 9.
MySQL 8.0 Online DDL MySQL 버전이 업그레이드 되면서 Online 으로 수행할 수 있는 DDL (ALTER TABLE) 이 더 많아지고 있다. Online DDL 은 DDL 구문을 수행할 때, 변경되는 Object 에 동시 DML (insert, update, delete) 쿼리 수행 가능하다는 것이 기본적인 기준이 된다. 모든 DDL 이 Online 으로 처리될 수 있는 것은 아니며, Online 으로 수행하더라도 temp file 을 생성하여 DB 서버의 Disk 공간을 사용하는 동작이 있기 때문에, 사용상 주의해야 할 부분들은 숙지해야 한다. MySQL 8.0.12 버전 부터는 테이블의 meta data 구조만 변경하는 INSTANT DDL 기능이 추가되었다. 이 post 는 다음 link 페이지를 번역한 내용이다... 2019. 12. 5.
MySQL 8.0 Resource Group MySQL 8.0 부터 Resource Group 기능이 추가되었다. Resource Group 의 생성과 관리 기능을 지원하고, 서버에서 실행되는 스레드를 특정 그룹에 할당 함으로써그룹이 사용할 수 있는 자원에 따라 스레드가 작업을 실행한다. 그룹 속성으로 자원을 제어 하고, 그룹 내 스레드의 자원 소비를 활성화 하거나 제한 한다. DBA 는 여러 작업의 부하에 맞게 이러한 특성을 수정할 수 있다.사용 가능한 가상 CPU 수를 결정하고, 적절한 권한을 가진 데이터베이스 관리자는 해당 CPU 를 RESOURCE GROUP 과 연결하고 스레드를 그룹에 할당할 수 있다. CPU 시간은 CPU 코어, 하이퍼스레드, 하드웨어 스레드 등을 포함하는 용어로 "가상 CPU" 라는 개념으로 관리 가능한 리소스이다. v.. 2019. 3. 14.
[MySQL] MySQL 5.7.9 Replication Error Fix - Error_no 1593 , related Master SERVER_UUID MySQL 5.7.9 를 Replication Slave 로 추가하려고 시도하였는데, 실패했다. [Replication 정보] Master DB : MariaDB 5.5.24ㄴ Slave DB : MySQL 5.7.9 / ( 그리고 MySQL 5.7.8-rc ) 위 Replication 정보를 바탕으로 하여 CHANGE MASTER TO 구문으로 replication 정보를 입력하고,start slave 를 시작하면 I/O thread 가 연결 에러가 발생한다. Last_IO_Errno: 1593Last_IO_Error: Fatal error: The slave I/O thread stops because a fatal error is encountered when it tries to get the v.. 2015. 10. 26.
[MySQL] 5.7 Online DDL 그리고 varchar 타입의 특성 MySQL 5.7 버전부터 새롭게 지원되는 Online DDL 기능이 있다. 1. Index rename2. varchar 컬럼 확장 해당 기능이 MariaDB 5.5 / MySQL 5.6 / MySQL 5.7.8 버전에서 각각 어떻게 실행되는지 살펴본다. 먼저 index rename 을 각 버전에서 실행한 결과이다. -- ===================================================-- MariaDB 5.5 -- =================================================== : MariaDB 5.5 는 index rename 명령을 지원하지 않는다. 실행 시 에러가 발생하며,인덱스명을 변경하려면 drop index, create index 명.. 2015. 10. 15.
[SYSTEM] tcpdump flag (TCP flag) 의미 TCPDUMP 플래그(TCP플래그) - 의미 S (SYNCS) SYN패킷, 접속요청을 할 때 보내는 패킷을 말한다.TCP접속시에 가장먼저 보내는 패킷이다. ack (ACK) ACK패킷, 상대방으로부터 패킷을 받은 뒤에 알려주는 패킷을 말한다. 다른 플래그와 같이 출력되는 경우도 있다. F (FIN) 접속종료를 위한 플래그로 이 패킷을 보내는 곳이 현재 접속하고 있는 곳과 접속을 끊고자 할 때 사용한다. R (RST) 이 패킷을 보내는 곳이 현재 접속하고 있는 곳과 즉시 연결을끊고자 할 때 사용한다. P (PUSH) 데이터를 즉시 목적지로 보내라는 의미이다. 텔넷과 같이 상호작용이 중요한 프로그램의 경우 빠른 응답 이 중요한다. 이때 사용하는 플래그이다. URG (UGENT) 긴급한 데이터는 다른 데이터에.. 2015. 9. 22.
[MySQL] ERROR 1025 테이블 변경 (alter) 을 진행할 때, 다음과 같은 에러가 리턴되는 경우가 있다. ERROR 1025 (HY000): Error on rename of './test/#sql-2fa8_1' to './test/test2' (errno: 150) 이 경우는, alter 하는 테이블에 fk constraint 가 존재할 경우 발생할 수 있다. 이러한 경우에 대해 테스트를 해본다. PARENT_TBL 이 부모 테이블, CHILD_TBL 이 자식 테이블로, PARENT_TBL 의 id 를 참조하는 테이블이다. CREATE TABLE `PARENT_TBL` ( `id` int(11) NOT NULL AUTO_INCREMENT, `value` varchar(20) NOT NULL, PRIMARY KEY (`id.. 2015. 8. 25.
[MySQL] 5.6 Online DDL MySQL 5.1 ~ 5.5 버전까지는 스키마 변경 작업 시 (DDL) Online 으로 작업이 되지 않아서,DBA 작업 시 다른 세션에서의 write 작업이 모두 블럭킹 되었다. 또한 과거의 MySQL 에서는 모든 DDL 작업 시 전체테이블이 재생되도록 동작하였고,테이블이 변경되는 동안에는 ( altering ) 테이블에 write 가 불가하였다. -- 1. 빈 테이블 생성 -> row 한 개씩 새로운 테이블로 copy-- 2. 인덱스는 row 가 insert 될 때 마다 update 됨-- 3. 모든 row 가 copy 되고 나면 과거의 테이블은 drop-- 4. 새로운 테이블의 이름이 원래의 테이블 이름으로 rename 된다. 그러나 MySQL 5.6 부터는 DDL 의 일부가 Online 으로 수행.. 2015. 8. 22.
[MySQL] 5.6 Multi Range Read (MRR) & Batched Key Access (BKA) Multi Range Read : Random I/O 를 Sequential I/O 로 처리할 수 있도록 하는 기능. Batched Key Access : NL 조인에서 Driving 테이블이 Driven (Joined Table) 에 액세스 할 때 Random I/O 발생이 높으니 이를 줄이기 위해 MRR 기능을 사용한다. 참고자료 : http://blog.naver.com/PostView.nhn?blogId=seuis398&logNo=70159183472 2014. 1. 23.