본문 바로가기

서버구축 (WEB,DB)367

MySQL Functions 생성, Stored 루틴 및 트리거 바이너리 로깅 먼저 function 을 만들려는 데 다음과 같은 에러가 발생했다. ERROR 1418 (HY000): This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable) 처리방법 1. mysql 서버를 시작할 때 다음 옵션을 추가 한다. --log-bin-trust-function-creators=1 2. 계정에 접속해서 다음을 실행한다. mysql>SET GLOBAL log_bin_trust_function_creator.. 2008. 12. 16.
MySQL에서 Query Cache 사용하기 Query Cache MySQL 서버에서 Query Cache를 사용하고 있으며, SELECT 문을 수행한 결과의 텍스트 내용이 query cache에 저장하게 된다. (mysqld --query_cache_size=#을 지정하여 데몬을 시작한 경우) 앞서 진행했던 것과 동일한 query를 나중에 다시 받게 되면, 서버는 전에 query cache에 저장한 내용에서 클라이언트에 보낸다. query cache는 테이블 내용이 자주 바뀌지 않거나, 동일한 쿼리를 반복하는 경우에는 아주 유용하다. Query Cache에서 다음 두 문장은 다르게 처리된다. mysql> SELECT * FROM tbl_name; mysql> select * from tbl_name; query cache에서 결과를 받아오려면 두.. 2008. 10. 27.
MySQL 데이터베이스 최적화, MySQL 성능을 200%로 2 : MySQL 엔진 튜닝 MyISAM & InnoDB MySQL 데이터베이스 최적화, MySQL 성능을 200%로 2 MySQL 엔진 튜닝 MyISAM & InnoDB 김병준 | 아이티브릿지 MySQL 기술지원 팀장 MySQL의 수많은 장점 중 가장 큰 장점을 꼽는다면 하나의 데이터베이스 시스템 안에 다양한 스토리지 엔진이 있다는 것이다. 그 중 대표적인 것이 MyISAM과 InnoDB 엔진이다. MyISAM은 주로 트랜잭션이 필요 없고 Select 쿼리가 많은 데이터베이스에 쓰이며 InnoDB는 트랜잭션과 DB를 변경하는 작업이 많은 데이터베이스에 사용된다. MySQL이라는 하나의 데이터베이스 시스템 안에 있는 엔진이지만 두 스토리지 엔진은 완전히 별개의 튜닝 요소들을 가지고 있다. 이번 호에서는 이 두 스토리지 엔진의 특성 및 최적화에 대해 알아보자. .. 2008. 10. 22.
MySQL 데이터베이스 최적화, MySQL 성능을 200%로 1 : MySQL 모니터링과 서버 튜닝 MySQL 데이터베이스 최적화, MySQL 성능을 200%로 1 MySQL 모니터링과 서버 튜닝 MySQL은 그 동안 이른바 APM으로 일컬어지는 아파치, PHP, MySQL 환경으로 소형 시스템이나 웹 환경에 주로 적용되어 왔지만 최근 기업들의 오픈소스 적용 바람을 타고 업무 시스템에 광범위하게 도입되고 있다. 하지만 우리나라에는 MySQL만을 다루는 책이 거의 전무할 정도로 MySQL 데이터베이스 자체에 대한 정보나 이해가 부족한 실정이다. 이번 연재를 통해 MySQL의 진정한 성능을 이끌어내자. 김병준│아이티브릿지 MySQL AB의 국내 골드 파트너인 아이티브릿지(www.itbridge.co.kr)의 MySQL 기술지원 팀장으로 MySQL을 비롯한 오픈소스에 대한 컨설팅과 튜닝 업무를 맡고 있다. .. 2008. 10. 22.
SHOW ENGINE INNODB STATUS와 InnoDB 모니터링 MySQL 클라이언트에서 아래와 같이 명령어(SHOW ENGINE INNODB STATUS)를 실행시키면 INNODB 정보가 출력이 된다. 이 정보는 튜닝에 활용 된다. 만약 mysql(대화형 SQL 클라이언트)를 사용한다면 세미콜론(;) 대신 고(\G)를 사용하는 것이 더 읽기 수훨하다. mysql> SHOW ENGINE INNODB STATUS; 혹은 mysql> SHOW ENGINE INNODB STATUS\G mysql> SHOW ENGINE INNODB STATUS\G *************************** 1. row *************************** Status: ===================================== 030709 13:00:59 INN.. 2008. 10. 20.
728x90