본문 바로가기

Mysql36

Mysql Master Slave 동기화 끊겼을 시 처리 KT 클라우드 문제로 게임 서버 중 Slave와 Log 서버가 폭파되어 어쩔 수 없이 Slave 정보와 Log를 잠시 본서버에 옮겼다가 복구되자마자 다시 원복. 하지만 이미 Master 서버와 Slave 서버 동기화가 끊겨버렸다. 이것저것 알아보다가 처리. 리눅스 mysql에 접속방법. mysql -u(user) -p(pwd)로 접속 접속 후에. show slave status \G;를 치면 현재 상태가 나온다. * 마지막 바이너리로그 파일과 포지션 위치 Slave_IO와 Slave_SQL이 둘다 Yes여야 한다. 하나라도 No면 제대로 처리가 안되고 있는 상황. 문제가 생긴 정보는 Last_Io_Error나, Last_SQL_Error에 정보가 나온다. 그리고 Last_IO_Error_TimeStamp.. 2019. 5. 13.
Mysql 동적쿼리 결과값 반환 Mysql에서 동적쿼리를 사용하면서 Row_Count가 동작을 안하길래 당황했다.찾아보니 해결책은 위치를 execute 밑에 놔야 한다는 것 123456789101112set @query_string = concat("update user_item_inventory", " set ", $update_coulmn, " = ", $update_coulmn, " - ?", " where user_key = ? and group_row_index = ? and ", $update_coulmn, " >= ", $item_count);prepare stmt from @query_string; execute stmt using @item_count, @user_key, @group_row_index; if(1 > R.. 2019. 3. 20.
Mysql 레코드 값 데이터 대/소문자 구분 서비스 Key를 만드려고 하는데 10~12자로 해달라고 한다.특수 문자를 제외한 정보를 만들기 위해 다음과 같이 설정. 여기서 B라는 항목이 Binary정보인데. 바이너리 형태로 형식으로 저장하도록 한다. 123456789CREATE TABLE `account` ( `user_key` BIGINT NOT NULL AUTO_INCREMENT, `uuid` CHAR(40) NOT NULL, `service_serial` CHAR(12) BINARY NOT NULL, PRIMARY KEY (`user_key`), UNIQUE INDEX `service_serial_UNIQUE` (`service_serial` ASC))ENGINE = InnoDBDEFAULT CHARACTER SET = utf8; cs 대신 .. 2019. 3. 13.
스테이지 스코어 저장. 유저 게임 STAGE별 점수 데이터가 필요하는 요청.STAGE는 현재 300개가 존재한다. 문제1. 유저 한명당 300개의 Column을 집어 넣을 것인가.문제2. 게임을 자주 하지 않거나 아예 안하는 유저들이 존재.문제3. 테이블이 커지면 인덱스도 커진다. 속도 저하.문제4. Insert를 자주 일어나게 할것인가. 처음에 Insert 후 Update를 사용할 것 인가. 생각1. 그러면 유저 한 명당 6개의 레코드와 50개의 필드로 나눌 것인가. 아니면 더 증가 가능. 10 x 30생각2. 100만 레코드로 조금씩 조회가 느려진다면. 10만명이 게임을 하면 100만 레코드.생각3. 테이블을 미리 나눈다면. 어떻게 관리할 것인가. 결론1. STAGE 클리어를 전부 하지 않으니 해당 스테이지를 업데이트할 때.. 2019. 3. 11.