DB37 웹에서 내용들이 수정이 안될때 (sql_mode) 웹에서 내용 정보들이 수정이 안될때 분명히 access_log는 제대로 찍혔고, error_log는 안나올때 DB my.cnf를 의심해보자. 서버 이전경우는 이전 서버를 확인해보자. 이전 서버에서 mysql -u root -p SELECT @@sql_mode; SELECT @@GLOBAL.sql_mode; SELECT @@SESSION.sql_mode; 해당 값을 그대로 확인한 다음 my.cnf 에서 수정해야합니다. MariaDB [(none)]> SELECT @@sql_mode; +-------------------------------------------------------------------------------------------+ | @@sql_mode | +----------------.. DB/DB 공통 관리 2023. 4. 16. 5. Sphinx 스핑크스 주기적 인덱스 방법 ( delta + crontab ) 스핑크스의 인덱스 순서는 아래와 같습니다. 환경설정 : sphinx.conf 인덱스 실행 : indexser --all 데몬 실행 : searchd 인덱스 재 실행 : indexser --all -- rotate (searchd 실행중인 경우에는 --ratate 옵션 부여) 그럼 인덱스 실행은 얼마나 자주 해야 하는걸까요? 실시간으로 응대해야 한다면 전혀 다루지 않았던 RT형식으로 해야 할 겁니다. 제가 구현하고자하는 통합검색에는 실시간까지는 필요 없고 그래도 최대 1~5분 주기로는 인덱스 작업을 해줘야 합니다. 그러나 테이블 하나가 100만 건만 된다고 하더라도 인덱스하는 시간이 수분~수십분이 걸립니다. 100만건 되는 테이블이 다수개라면 서비스 자체가 할 수 없게 됩니다. 이를 해결하기 위해서 아래와.. DB/DB 공통 관리 2023. 3. 26. 4. Sphinx, MySQL 에서 스핑크스 직접 join하기 (sphinxSE) 이전 시간까지 스핑크스를 설치했고, sphinxQL을 이용하여 주로 사용하는 쿼리를 테스트 해봤으며, PHP 연동까지도 해봤습니다. 이번 장은 sphinxSE를 사용하는 방법을 설명하고자 합니다. 이글 부터 보시는 분들은 꼭 #1 부터 읽어주시기 바랍니다. sphinxSE는 searchd(스핑크스 데몬)와 대화하여 텍스트 검색을 가능하게 하는 스토리 엔진입니다. 스핑크스와 sphinxSE는 mariaDB에 내장된 전체 텍스트 검색(full text) 보다 빠르고 사용자 정의 가능한 대안으로 사용됩니다. MariaDB에서 sphinxSE 설치하기 # mysql에 스핑크스 엔진 설치 mysql> INSTALL SONAME 'ha_sphinx'; mysql> SHOW ENGINES\G +------------.. DB/DB 공통 관리 2023. 3. 26. 3. Sphinx스핑크스 쿼리 테스트 PHP 연동 스핑크스 설치 환경설정 (sphinx.conf) 인덱싱 생성 데몬 실행 sphinxQL 실행 이번에는 sphinxQL을 통해 쿼리를 날려보고 동작원리 및 유용한 쿼리를 연습하는 시간을 가져보려 합니다. 기본 sphinxQL를 접속해주세요. ]$ mysql -h0 -P9306 Welcome to the MariaDB monitor. Commands end with ; or \g. Your MySQL connection id is 1 Server version: 2.2.11-id64-release (95ae9a6) Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c'.. DB/DB 공통 관리 2023. 3. 26. 1. Sphinx 이란 mysql 사용중인 사이트에 통합검색을 하나 달아야 합니다. 5백만 건 정도이며 text자료형의 필드가 다소 있는 상태입니다. 'like'는 'index'를 사용할 수 없기 때문에 논의 대상 자체가 아닙니다. myisam 구조라서 full-text 방식을 사용하고 있지만 varchar 도 검색엔진에 태워야 하는데 결국 부분적으로 'like'를 사용해야 하기때문에 대안이 아닙니다. 결국 엘라스틱서치(Elasticsearch)와 스핑크스(sphinx) 두개로 압축이 되었고, 당분간 스핑크스를 사용하기로 결정했습니다. 검색엔진은 크게 3가지의 기능을 가지고 있어야 합니다. 형태소 분석기, 색인(index)하는 기능, 마지막으로 검색하는 기능입니다. 검색엔진은 위의 3가지의 기능을 필수로 가지고 있어야 하는데,.. DB/DB 공통 관리 2023. 3. 26. 2. Sphinx 스핑크스 설치 및 환경 현재 mysql를 사용 중이며, 500만 건 text, varchar 등 혼합된 구조의 테이블이 10개 정도 존재합니다. 이들 대상으로 통합검색을 사이트에 구현해야 합니다. 몇가지 후보군 중에 스핑크스(sphinx)가 적당하다 판단하고 설치부터 테스트, 구현까지의 과정을 포스팅합니다. 아래는 스핑스크 테스트할 사용 계획입니다. mysql에는 zip_code라는 우편번호 테이블이 존재합니다. 스핑크스를 이용하여 zip_code의 text, varchar 컬럼을 인덱스 로드합니다. 인덱스 로드한 이름은 sph_zip_code로 명명합니다. sphinxQL 이용하여 쿼리 테스트를 합니다. sphinxSE 이용하여 zip_code와 sph_zip_code를 innser join 하여 통합검색 서비스를 합니다. .. DB/DB 공통 관리 2023. 3. 26. mysql 상태 모니터링 # 상태 mysqladmin -u root -ppassword -i3 status 현재 내 서버의 상태 Uptime: 9063212 Threads: 7 Questions: 91587331 Slow queries: 104 Opens: 694 Flush tables: 1 Open tables: 229 Queries per second avg: 10.105 Uptime: 9063215 Threads: 7 Questions: 91587332 Slow queries: 104 Opens: 694 Flush tables: 1 Open tables: 229 Queries per second avg: 10.105 슬로우쿼리가 많은것으로 봐서 문제가 있다… 슬로우쿼리만 따로 로그로 남겨서 확인해 봐야겠네 # 프로세스 확인.. DB/DB 공통 관리 2023. 3. 26. CentOS 7 MariaDB 10.11.2 소스 컴파일 설치 ## MariaDB 설치전 선행 작업 cd /usr/local/src/ yum install -y wget vim epel-release yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm yum update -y ## CentOS 7 Default 환경변수설정 echo " " >> /etc/profile echo "####default PATH#####" >> /etc/profile echo "export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:" >> /etc/profile echo "#####################" >> /etc/profil.. DB/MariaDB 2023. 3. 12. CentOS 7 MariaDB 10.6.12 소스 컴파일 설치 ## MariaDB 설치전 선행 작업 cd /usr/local/src/ yum install -y wget vim epel-release yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm yum update -y ## CentOS 7 Default 환경변수설정 echo " " >> /etc/profile echo "####default PATH#####" >> /etc/profile echo "export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:" >> /etc/profile echo "#####################" >> /etc/profil.. DB/MariaDB 2023. 3. 12. CentOS 7 MariaDB 10.5.19 소스 컴파일 설치 ## MariaDB 설치전 선행 작업 cd /usr/local/src/ yum install -y wget vim epel-release yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm yum update -y ## CentOS 7 Default 환경변수설정 echo " " >> /etc/profile echo "####default PATH#####" >> /etc/profile echo "export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:" >> /etc/profile echo "#####################" >> /etc/profil.. DB/MariaDB 2023. 3. 12. CentOS 7 MariaDB 10.4.28 소스 컴파일 설치 ## MariaDB 설치전 선행 작업 cd /usr/local/src/ yum install -y wget vim epel-release yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm yum update -y ## CentOS 7 Default 환경변수설정 echo " " >> /etc/profile echo "####default PATH#####" >> /etc/profile echo "export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:" >> /etc/profile echo "#####################" >> /etc/profil.. DB/MariaDB 2023. 3. 12. CentOS 7 MariaDB 10.3.38 소스 컴파일 설치 ## MariaDB 설치전 선행 작업 cd /usr/local/src/ yum install -y wget vim epel-release yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm yum update -y ## CentOS 7 Default 환경변수설정 echo " " >> /etc/profile echo "####default PATH#####" >> /etc/profile echo "export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:" >> /etc/profile echo "#####################" >> /etc/profil.. DB/MariaDB 2023. 3. 12. 이전 1 2 3 4 다음