일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 핑
- 목차만들기
- sp_who
- 문자열
- port
- 정규표현식
- 정규식
- ping
- 포트
- MYSQL
- 핑테스트
- erp
- pingtest
- MSSQL
- 이메일주소
- vscode
- 리눅스
- 유효성
- 더존ERP
- js
- python
- codeigniter
- 메일
- 자바스크립트
- 트랜젝션
- crontab
- jquery
- JavaScript
- php
- sendmail
- Today
- Total
목록DataBase (6)
ioerror
MYSQL 8에서 password 함수가 사라졌다. 내 기억에 mysql 4 버전에서 5 버전으로 넘어오면서 password 함수의 암호화의 방식이 바뀌었었다. password 사용시 생성되는 암호화 문자열이 16자에서 41자로 암호화가 강화되어 당시 기존 PHP 코드를 사용하는 시스템에서 MYSQL 버전 업그레이드를 하면서 혼란이 좀 있었던 거 같다. 다행히 old_password 함수를 사용할 수 있어서 기존 데이터베이스에 저장된 비밀번호 확인은 가능했다. 그런데 MYSQL 8 버전에서는 password 자체가 없어졌다. MYSQL 8 에서는 예전 처럼 old_password 따위를 제공하지도 않는다. PASSWORD를 대체할 쿼리 SELECT CONCAT('*', UPPER(SHA1(UNHEX(SH..
시나리오 회사의 ERP는 MSSQL 기반의 더존 ERP를 사용하고 있다. 사용 기간이 오래 되다보니 데이터량도 많아지고 접속자, 요청 쿼리 등도 많아졌다. 그러다 보니 당연한 것이겠지만 간혹 특정 시간대에 ERP 실행 속도가 느려져서, 수주 등록이 안되거나, 데이터 조회가 안 되는 경우가 발생했다. 말그대로 "ERP가 느리다", "접속이 안된다", "실행 속도가 갑자기 느려졌다" 아우성이다. 특정 시간대라 함은 어느 부서에서 어떤 ERP 모듈을 실행으로 인해 MSSQL에 부하(병목현상)을 유발하게 된 것이다. 그 모듈을 찾아서 사용된 쿼리, 프로시저, 테이블 등을 최적화 해야 한다. 그럼 어떻게 찾을 것인가? 시간대를 알기에 부서별로 확인해서 어느 모듈인지 추적은 가능하지만, 단순히 그 모듈이라고 특정하..
사이트가 왜 느려질까? 서버 장비, 네트워크, 등 많은 원인이 있겠지만 대체로 데이터베이스에 원인이 있다. slow query를 유발하는 SQL 문이나, 인덱싱이 안되어 있는 테이블 등으로 인해 데이터가 쌓이다 보면 느려지게 마련이다. 그럴 때는 테이블들을 최적화해줘야 한다. 전체 데이터베이스의 테이블들을 최적화 하고, 스케쥴링하는 방법을 구글링 해서 알아보고 적용해봤다. 1. MySQL 최적화 쉘 스크립트 1) optimize.sh 파일을 생성한다. $ vi optimize.sh 2) optimize.sh 파일 내용 #!/bin/sh # 로그 파일명 설정 # 오늘 날짜 today=`date '+%Y%m%d'` # 4일 이전 날짜(삭제 대상) lastday=`date --date '4 days ago' ..
MSSQL 프로세스 확인 CREATE TABLE #sp_who2 (SPID INT,Status VARCHAR(255), Login VARCHAR(255),HostName VARCHAR(255), BlkBy VARCHAR(255),DBName VARCHAR(255), Command VARCHAR(255),CPUTime INT, DiskIO INT,LastBatch VARCHAR(255), ProgramName VARCHAR(255),SPID2 INT, REQUESTID INT) INSERT INTO #sp_who2 EXEC sp_who2 SELECT * FROM #sp_who2 -- Add any filtering of the results here : WHERE DBName 'master' -- Add ..
들어가며 요즘은 서버 장비가 잘나와서 격지 못했는데, 예전에는 특히 사무실에서 서버를 돌릴때 정전이라도 나서 서버가 꺼져 버린다거나, 비정상적으로 다운되었을때 MySql의 엔진중 하나인 MyISAM을 구성하는 파일이 깨져서 디비를 날려버리는 경우가 간혹 있었다. 복구 하는 명령어로 복구 할수는 있겠으나 혹여라도 복구가 안되면, 거기다가 백업도 안되어 있다면 정말 큰일이다. 특히나 MyISAM 엔진은 특히 용량이 많을 수록 깨지기도 쉽다는 평도 있었고, 복구도 어려워진다. MyISAM 에 비해 innoDB 엔진은 복구 기능이 잘되어 있어서 많이 사용하지만 MyISAM 보다 설정이나 사용하기가 까다로운 점이 있다. 1. 상황 웹에서 MySql을 사용하는 게시판(페이지)를 열었거나 콘솔에서 mysql에 접속해..
MySql 에서 primary key 값이 auto_increment 인 경우, row가 추가 됨에 따라 자동으로 증가된 값이 입력된다. 그럼 row 추가 전에 입력 예정 값은 어떻게 알수 있을까? 버전이 5 이상인 경우 select Auto_increment from information_schema.tables where table_schema = '[db_name]' and table_name = '[table_name]' 버전이 4.5 이상인 경우 show table status from [db_name] like '[table_name]'; 그리고.... 증가값을 초기화 하는 방법 /* 데이터가 있을때 */ alter table [table_name] auto_increment = 1; /* 데..