본문 바로가기

분류 전체보기189

[MYSQL] SLOW_LOG 기록 및 확인 방법 MYSQL 슬로우 쿼리 로그는 설정에서 정의된 시간보다(second) 오랫동안 실행 된 쿼리에 대해서 기록을 한다 슬로우 쿼리 로그 활성화(설정 파일) 슬로우 쿼리 로그를 활성화하기 위해서는 MySQL Configuration 파일을 찾아야 한다. 아래 명령어를 수행하면 my.cnf 파일을 찾을 수 있다. 아래 디렉터리 중 한 곳에 my.cnf가 있을 것이다. 여러 디렉토리에 동시에 my.cnf 파일이 존재하면 왼쪽 디렉토리 순서대로 우선 적용된다. $ mysql --verbose --help | grep my.cnf /etc/my.cnf /etc/mysql/my.cnf /usr/local/etc/my.cnf ~/.my.cnf 파일을 찾았다면 아래처럼 수정한다. [mysqld] # 슬로우 쿼리를 TABL.. 2023. 3. 14.
[php] html -> pdf 변환/다운로드 [php] html -> pdf 변환/다운로드 방법 1. 먼저 html pdf로 변환하기 위해서는 리눅스에 파일 설치가 필요하다. https://wkhtmltopdf.org/ 해당 사이트에서 서버에 맞는 파일을 다운로드 한다. 2. centos 7 버전 기준으로 wkhtmltox-0.12.6-1.centos7.x86_64.rpm 해당 파일을 다운로드 받는다 3. 해당 파일을 서버에서 yum install 을 통해 설치 한다. 4. 그리고 php 파일에서 아래와 같은 형태로 실행한다 header('Content-Type: text/html; charset=UTF-8'); $url = " 2023. 2. 2.
MYSQL 달력 만들기 # TABLE 달력 생성 create table t (n int); insert into t values (1); insert into t select * from t; -- 이걸 13번 반복하면 4096행이 생성됨. 10년치 데이터라면 대략 3650일이므로 이정도면 충분 create table date_t (d date, ds char(8)); -- 날짜를 저장할 테이블 INSERT INTO date_t SELECT d, DATE_FORMAT(d, '%Y%m%d'), WEEK FROM ( SELECT @rnum:=@rnum+1 AS rownum, DATE(ADDDATE('2023-01-01', INTERVAL @rnum DAY)) AS d, CASE DAYOFWEEK(DATE(ADDDATE('2023-.. 2022. 12. 30.
아파치 서버 동시접속자 확인 아파치 동시접속 체크는 아래와 같이 할 수 있다고 합니다. -. 실시간 접속수 파악 : watch 'netstat -an | grep EST | wc -l' -. 웹 동시 접속목록 : netstat -nap | grep :80 | grep ESTABLISHED | wc -l -. 메모리 사용량 측정 : ps aux | grep apache | awk '{print $6}' | awk '{total = total + $1 } END {print total/1024}' 2022. 12. 13.
[html/php]페이지 언어 변환 - 구글 번역 (언어번역) [html/php]페이지 언어 변환 - 구글 번역 (언어번역) - 한글을 외국어로 전환(변환) 구글에서 제공해주는 번역 기능을 통해 간단한 소스로 구현 알수 있다. This example displays a simple translate button, with no text. 2022. 6. 30.
[mysql]update 이후 insert idx 값 호출 - 업데이트이후 인덱스값 호출 update 쿼리 이후에 update where 절에 idx 값으로 컨트롤 하는 경우 당연히 이걸 쓸일은 없겠지만 다른 데이터를 이용하여 업데이트를 하였을 경우 해당 idx 값을 가져오고 싶을때가 있을것이다. 이럴때는 아래와 같은 방식을 사용하여 호출 할 수 있다. UPDATE 테이블명 SET 필드명 = '변경값', idx = LAST_INSERT_ID(idx) WHERE 필드명 = '대상값'; SELECT LAST_INSERT_ID(); 여기서 중요한건 idx = LAST_INSERT_ID(idx) 이다. 이후에는 SELECT LAST_INSERT_ID(); 를 통해서 언제든지 최근에 등록한 업데이트 IDX 값을 호출 할 수 있다 2022. 6. 28.
2 rows to 1 row :: 2개 이상 결과 row를 1개의 row 결과값으로! MYSQL :: 2 ROW'S TO 1 ROW OUTPUT - 2개의 ROW 결과값을 1개의 ROW로 결과값을 출력 하는 방법을 알아보자 select * from test ; type name 동물 강아지 동물 고양이 동물 염소 동물 다람쥐 select type, group_concat(name) from test group by type ; type name 동물 강아지,고양이,염소,다람쥐 옵션도 존재한다 1. 기본형 : group_concat(필드명) 2. 구분자 변경 : group_concat(필드명 separator '구분자') 3. 중복제거 : group_concat(distinct 필드명) 4. 문자열 정렬 : group_concat(필드명 order by 필드명) 2022. 4. 25.
[Linux] 아파치 폴더 쓰기 권한 주기 1 아파치 계정 확인 다음 명령어로 아파치 계정을 확인한다. ps -ef | egrep 'httpd|apache2' → 아마도 CentOS라면 apache, 우분투라면 www-data일 것이다. 2 대상폴더 그룹권한 변경 계정이 apache라면... chgrp apache /대상/폴더 chmod g+w /대상/폴더 계정이 www-data라면... chgrp www-data /대상/폴더 chmod g+w /대상/폴더 2021. 12. 22.
[리눅스] 웹 폴더 권한 주기 / 웹에서 폴더 생성시 필요 1 아파치 계정 확인 다음 명령어로 아파치 계정을 확인한다. root@zetawiki:~# ps -ef | egrep 'httpd|apache2' root 2028 1 0 Apr09 ? 00:00:02 /usr/sbin/apache2 -k start www-data 3899 2028 0 Apr09 ? 00:00:13 /usr/sbin/apache2 -k start www-data 3900 2028 0 Apr09 ? 00:00:14 /usr/sbin/apache2 -k start ... (생략) → 아마도 CentOS라면 apache, 우분투라면 www-data일 것이다. 2 대상폴더 그룹권한 변경 계정이 apache라면... chgrp apache /대상/폴더 chmod g+w /대상/폴더 계정이 www.. 2021. 12. 13.
[php] 배열과 배열 비교 배열과 배열을 비교해야할때가 간혹 있다. 가령 A에 담긴것을 B가 포함하는지 아닌지를 말이다. 이럴때 배열과 배열을 비교하고 제외하거나 추가 할수있는 간단한 방법이 있다. 당연히 둘은 배열관계여야 한다 $before = array(0,1,2,3,4,5,6); $after = array(3,4,5,6); $intersect= array_intersect($before, $after); 결과: 3,4,5,6 이다. 둘다 값을 가진것에 해당하는 결과값이다. 그렇다면 after 에 없는 값은?? $diff= array_diff($before, $after); 결과 : 0,1,2 가 된다. 그럼 한가지 활용의예를 들어보자 before 값에서 after 가 전혀 다른값이 있을 경우 after 에 새로운값은 저장하고.. 2021. 12. 10.
bootstrap Table Server Side 통신 https://unpkg.com/bootstrap-table@1.18.3/dist/bootstrap-table.min.css" rel="stylesheet"> " target="_blank" rel="noopener">https://unpkg.com/bootstrap-table@1.18.3/dist/bootstrap-table.min.js"> ID Item Name Item Price 2021. 10. 26.
DB 양방향 암호화 후 복호화 호출 하기 DB 양방향 암호화 후 복호화 호출 하기 개인정보등 DB를 암호화 하여 저장할 필요성이 있고, 이를 불러와서 복호화 하는 과정이 필요한 경우 사용 방법은 아래와 같다. 암호화 : HEX(AES_ENCRYPT('필드명', '키값')) 복호화 : AES_DECRYPT(UNHEX('필드명'), "키값") 이렇게 사용하면 된다. 암호화 할때는 통상적으로 INSERT, UPDATE 할때 사용을 하고 복호화는 SELECT 할때 별칭을 사용하여 호출 하면 된다. 이상, DB 양방향 암호화 후 복호화 방법에 대해서 알아보았다. 2021. 6. 23.