MySQL DB Schema 관리 프로그램

MySQL DB Schema 관리 프로그램
MySQL DB Schema 에 대해서 DBTool을 이용하지 않고 보고 보고서를 Excel로 출력하기 위해서 만들었습니다. 분명히 좋은 프로그램도 많고 하지만 특정 사용인에 맞춰서 출력을 조절하고 DB Schema를 관리 하기 위해서 만들게 되었습니다. 컬럼마다 코멘트와 형식으로 모두 설정이 가능하도록 되어 있어서 여러사람이 이 프로그램을 사용하면은 볼수가 있습니다.

Local MSSQL 데이터를 MySQL Server로 전송

Local MSSQL 데이터를 MySQL Server로 전송
요구사항1. 컴퓨터의 MSSQL 특정 DB table을 MySQL 서버로 전송2. 특정컬럼의 구분자를 구분해서 MySQL로 전송3. 컴퓨터의 MSSQL 데이터를 일정기간 지난후 삭제 하도록 처리4. 프로그램의 실행 시간을 일정시간 간격으로 실행하다록 처리 매번 프로그램을 만들어주는게 간단한것도 있지만 막상 작업을 하다 보면은 손이 많이 가야 하는것이 있습니다. 이번 프로그램도 보기에는 간단한데, 내부적으로 돌아가야 하는 부분은 신경써야 할 곳이 한두곳이…

Local SQLite의 Table의 내용을 WebServer로 전송

Local SQLite의 Table의 내용을 WebServer로 전송
필요사항1. 주기적으로 WebServer로 전송해야함.(단 WebServer에 중복은 방지)2. 각 컴퓨터마다 SQLite 경로가 다르기 때문에 설정이 가능하도록함.3. 각 컴퓨터 구분을 할 수 있도록 함.4. 각 컴퓨터에 일정시간적으로 DB를 읽을수 있도록함.5. 각 컴퓨터 SQLite DB가 Lock이 걸리니 복사해서 사용하도록함. 이상이 5가지 사항을 가지고 만든것이며, 약 일주일 정도 지났지만 문제없이 사용을 하고 있다고 합니다. 생각보다 적은 양의 코딩을 해서…

[MySQL] 패스워드 정책 변경

unix_socket 방식을 mysql_native_password 으로 변경하는 방법입니다 SHOW VARIABLES LIKE 'validate_password%'; << 패스워드 정책 SET GLOBAL validate_password_policy=LOW; <- MEDIUM으로 변경도 가능 SELECT password('변경할PASSWORD'); UPDATE user SET plugin='mysql_native_password' WHERE user='root'; ALTER USER 'root'@'localhost' identified with mysql_native_password by '변경할PASSWORD'; ALTER USER 'root'@'localhost' IDENTIFIED with mysql_native_password USING PASSWORD("변경할PASSWORD"); show grants for 'root'@'localhost'; flush privileges; 이렇게 하여도 적용이 안될때가 가끔있는데…

MySQL, PostgreSQL, SQLite 각 컬럼의 Type차이 기록

인터넷 검색을 통해서 제가 습득한 지식 기반이여서 정확하지 않음을 미리 알려드립니다. MySQL PostgreSQL SQLite TINYINT SMALLINT INTEGER SMALLINT SMALLINT MEDIUMINT INTEGER BIGINT BIGINT BIT BIT INTEGER _______________________________________________________ TINYINT UNSIGNED SMALLINT INTEGER SMALLINT UNSIGNED INTEGER MEDIUMINT UNSIGNED INTEGER INT UNSIGNED BIGINT BIGINT UNSIGNED NUMERIC(20) _______________________________________________________ DOUBLE DOUBLE PRECISION REAL FLOAT REAL REAL DECIMAL DECIMAL REAL NUMERIC…

[MySQL] 상태가 sleep 인것 정리하기

#!/bin/sh NOW=$(date +"%m-%d-%Y") FILE="/root/sleep_processes.$NOW.txt" /var/lib/mysql-5.1.40/bin/mysql -uroot --password='password' -e "select concat('KILL ',id,';') into outfile '/tmp/sleep_processes.txt' from information_schema.processlist where State = 'User sleep'" /var/lib/mysql-5.1.40/bin/mysql -uroot --password='password' -e "source /tmp/sleep_processes.txt;" if [ -s "/tmp/sleep_processes.txt" ]; then cp /tmp/sleep_processes.txt $FILE fi rm -f /tmp/sleep_processes.txt https://www.phpschool.com/gnuboard4/bbs/board.php?bo_table=tipntech&wr_id=81951&page=2

[MySQL] Auto_Increment 값 재정렬 하기

MySQL에서 데이터를 정리하다 보면 auto_increment 값의 충돌로 데이터가 입력이 되지 않는 경우가 있습니다.이럴 경우 간단히 해결할 수 있는 방법이 있는데요. auto_increment 값을 재지정해주면 쉽게 해결됩니다. 단순히 원하는 값으로 초기화하기를 원하는 경우 ALTER TABLE `table_name` AUTO_INCREMENT=XXXXXX(설정한 인덱스번호); 기존의 ROW들을 재정렬 및 셋팅하기를 원하는 경우 ALTER TABLE `table_name` AUTO_INCREMENT=1; SET @CNT = 0; UPDATE `table_name` SET `table_name`.`auto_colmn`…

[MySQL] Auto_Increment 한계

[MySQL] Auto_Increment 한계 CREATE TABLE을 할때, TYPE다음에 나오는 괄호안 숫자가 BYTE를 나타낸다고 알고 있었는데요,실제로 데이터를 넣어보니 끝도 없이 들어가네요. 왜 이럴까 문서를 찾아보던중 잘 정리된 블로그가 있어서 원인은 잘 알게 되었지요^^ 참고 : http://blackbull.tistory.com/44 위 사이트를 읽어보면, 결국 괄호안 숫자와 상관없이 MySQL INT 최대값까지 발번이 될것으로 판단되네요.그렇다고 INT 최대값인 4,294,967,295까지 테스트를 해볼수도 없고, 그래서 다시한번…