공통으로 사용해야 하는 테이블이 다른 서버에 있어서 CREATE TABLE .... ENGINE=FEDERATED... 구문을 사용했는데 테이블 생성에 실패했다는 빨간 엑스표시가 떴다. FEDERATED 엔진이 설치되어 있어야 해당 구문을 사용할 수 있다고 한다. FEDERATED 엔진이 설치되었는지 먼저 확인한다. mysql > SHOW ENGINES; (어디서는 USE mysql;을 한 다음에 사용하라고 했는데 내 경우는 다른 DB에서도 조회가 되었다...) 그리고 FEDERATED 엔진을 추가하는 방법을 검색했는데.... 무엇이 맞는 것일까? https://bloghelloworld.tistory.com/284 https://sarc.io/index.php/mariadb/1167-mariadb-fe..
출처https://zetawiki.com/wiki/MySQL_%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4_%EC%9A%A9%EB%9F%89_%ED%99%95%EC%9D%B8 *리눅스 서버 콘솔에서 확인 - DB별 용량 확인 : du -h /var/lib/mysql - 전체 용량 확인 : du -sh /var/lib/mysql - 남은 용량 확인 : df -h /var/lib/mysql *리눅스 디스크 용량 확인 명령어https://uzihoon.com/post/831cf540-adf4-11ea-b011-b113e86828fc *mysql 또는 Workbench에서 확인 - DB별 용량 확인 : SELECT table_schema "D..
참고사이트 : https://dev.mysql.com/doc/refman/8.0/en/trigger-syntax.html delimiter | CREATE TRIGGER testref BEFORE INSERT ON test1 FOR EACH ROW BEGIN INSERT INTO test2 SET a2 = NEW.a1; DELETE FROM test3 WHERE a3 = NEW.a1; UPDATE test4 SET b4 = b4 + 1 WHERE a4 = NEW.a1; END; | delimiter ; (코드는 참고사이트의 예제) 특정 테이블의 데이터를 업데이트 할 때 이전의 데이터를 백업해 두고 싶었다. 그래서 그 테이블에 BEFORE UPDATE Trigger를 생성해보았다. MySQL Workben..
1. 현상 : 리스트 로딩 시 검색어가 추가되면 속도가 많이 느렸다. 답답이.... 검색어가 총 3개의 테이블을 검색하는 것이지만 너무 느린감이 있어서 튜닝에 나섰다. 2. 원인 : 처음 쿼리가 이랬다... SELECT 소요 시간은 2.17초 정도 SELECT ... FROM 테이블1 WHERE INSTR(컬럼1_테이블1, '검색어') > 0 OR PK_테이블1 IN ( SELECT FK_테이블2 FROM 테이블2 WHERE INSTR(컬럼2_테이블2, '검색어') > 0 UNION SELECT FK_테이블3 FROM 테이블3 WHERE INSTR(컬럼3_테이블3, '검색어') > 0 ) - 검색어를 검색할 때 INSTR 함수를 사용했는데 이 부분을 LIKE 문으로 바꾸자 속도가 개선되었다. 검색어 검색..
출처 : https://javafreak.tistory.com/261 [MariaDB][MySQL] /*!40100 DEFAULT CHARACTER SET utf8 */ mariaDB에서 디비를 덤프하니까 아래와 같은 주석이 자주 보임. /*!40100 DEFAULT CHARACTER SET utf8 */ /*!40014 SET FOREIGN_KEY_CHECKS=IF(@OLD_FOREIGN_KEY_CHECKS IS NULL, 1, @OLD_FOREIGN_KEY_CHECKS) */;.. javafreak.tistory.com 테스트 서버 쪽에 실서버와 똑같은 DB를 생성하려고 CREATE문을 복사했다가 아래와 같은 주석문을 발견했다. (지금 보니 출처와 똑같은 주석문이었다. 다행이다... ㅎㅎ) /*!40..
이 에러를 검색해보면 대부분의 원인이 long형인 값이 int형 변수에 매칭되었기 때문인 것 같다. 그러나 나에게 나타난 에러로그는 좀 이해하기 힘들었다. Out of range value for column '컬럼명' : value 1; 워크벤치에서 검색하면 1값이 문제없이 나타나는데 웹페이지에서는 계속 에러가 나와서 이상하다 싶었다. 왜 1인데 out of range인가.... 살펴봤더니 0과 1 밖에 값을 사용하지 않는 컬럼이 VARCHAR형이었고 (Why? Why? Why?????)value과 1과 ; 사이에 저렇게 간격이 생긴 것이 탭 때문이었다. '1'이 아니라 ' 1 '이었던 셈. 데이터가 언제나 예상한 대로 등록되는 것은 아니고,DB 설계자가 꼭 내 맘 같지 않다는 것은 항상 염두해야 할 ..
*MySQL에서 (MySQL과) 연결된 테이블 확인하는 쿼리문 SELECT TABLE_SCHEMA, TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE engine = 'FEDERATED' *MySQL에서 (MSSQL과) 연결된 테이블 확인하는 쿼리문 SELECT TABLE_SCHEMA, TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE engine = 'CONNECT'