1년 프로젝트..
할 수 있을지 없을지 사실 잘 모르겠다만..
1년간 준비해서
내년 3월 즈음에는.. mysql을 최소로 줄여봐야겠다
대상은 postgresql 로.. 🙂
마이그레이션이 잘 될지 어떨지는 모르겠지만..; 해봐야지 뭐 ㅎ
이렇게라도 안하면 과연 할 까 싶기도 해서-_-;
/re:how to be a dolphin?
Posts tagged ‘MySQL’
할 수 있을지 없을지 사실 잘 모르겠다만..
1년간 준비해서
내년 3월 즈음에는.. mysql을 최소로 줄여봐야겠다
대상은 postgresql 로.. 🙂
마이그레이션이 잘 될지 어떨지는 모르겠지만..; 해봐야지 뭐 ㅎ
이렇게라도 안하면 과연 할 까 싶기도 해서-_-;
mysql clustering을 만들어 봅시다
일단 지금 사용하고 있는 데이터의 양을 계산을 하는 것이 먼저
1기가의 데이터가 저장되어있는 테이블이 있다라면 최소로 필요한 메모리는 약 3GB!!
3GB는 최소 사양.. 저기에 옵션이지만 replica를 돌리는 경우 + 3GB 하시고 데이터 늘어나거나 하는 것들 감안해서 1~2GB는 여유있게 마련을
replica 없이 구성을 하면 4~5GB replica가 있는 상태로 구성하면 7~8GB
시간이 지나고 아.. 데이터가 늘어난다
짠~ 하고 10GB가 되었음
위에 굵은 글씨의 메모리 용량에 10배를 해주세요
[……..]
삼성 반도체 아들이 설계 했나-_-;;
결론 : 재미는 있지만 (지금 입장에서는) 쓸모 없다
먼저.. 지금 일을 하고 계신 분들께서 보시면 좀 까칠 하게 생각 하실 수 있습니다
그리고 완전 개인적인 생각이니 동의 안하시면 그냥 1박 2일 보세요 ㅋ 그게 더 즐거워요 ㅎ
IT로 돈 벌고 나름 잘 살아남기 위한 방법
1. 지금이라도 늦지 않았습니다. Java를 하십시오
이유 – 지금 MS 기술의 그늘에서 월급 받는 중이라면 상관이 없지만 만약에 지금 시작을 하려는 분이라면.. Java를 하십시오.. 일반 소비자 시장에서 잘 먹히는 C++ 및 각종 MS기술보다 대규모 기업시장에서 많이 쓰이는 Java가 내 주머니에 돈을 가져다줄 확률이 더 높습니다.. 특히 외국에 나갈 생각이 있다라면 Java쪽이 좀 더 유리 할 수 있습니다
2. Web 관련 언어를 하나 정도는 익혀 두는 편이 좋을 수 있습니다
이유 – 전통적인 어플리케이션의 위치가 나름 많이 줄어드는 것 같습니다. 결국 프로그램이 하는 일은 DB에 값을 넣고 저장되어있는 DB의 값을 불러와서 원하는 모양새로 보여주는 것이 대부분인데.. 유지보수 및 관리가 나름 쉬운 웹 기반으로 제작이 되는 경우가 많으니 완전 까막눈만 아닐 정도로는 알아두면 나중에 대처하기가 쉬울듯.. 사실 Java나 C++를 공부 했으면 php에 접근을 하기 매우 쉬울 꺼고 그냥 쉽게 적응 할 수도 있을테니 완전 배척만 하지 말아주세요 🙂
3. DB를 다룰 줄 알면 편합니다
이유 – 한국에서는 개발자가 DB설계도 하고 쿼리도 짜야하고 알아서 다 해야하는 경우가 있으니 더욱 더 -_-;;
나중에 뻑나는건 나중일이 되는 경우가 많으니 일단은 지금 할 줄 아는 것이 중요하고.. DB의 중요성은 어디에서 누구에게 물어봐도 다 인정 할 껍니다.. 물론 DBA가 있다면 DBA를 더욱 괴롭히세요 🙂
4. 소프트웨어 개발을 포기 하세요
이유 – 그게 어찌보면 가장 나은 빠른 방법일 가능성도 있습니다
대안으로 공부를 해야 할 것은 네트워크, 보안 그리고 하드웨어 입니다
네트워크라는 것이 사실 매우 간단한데 프로그램의 어셈블리 같은 느낌이 강해서 접근을 하는 방법이 어렵지 개념이 잡혀 있으면 슬슬 따라오는 경우가 많습니다.. 다 따라오지 않는 것이 문제가 되기는 하지요 -ㅂ-;; 단점은 네트워크라는 것이 언제 장애가 발생을 할 지 모르기 때문에 24/7 대기를 해야하는 경우가 많이 생긴다라는 것..
하드웨어의 경우는 아무리 인터넷이 발전을 하고 컴퓨터가 발전을 해도 결국 어디에선가 서버라는 녀석이 보내주는 데이터에 의존을 해야하고 그 서버를 담당하는 자원이 생각보다는 모자라기에 서버 쪽의 하드웨어 (단순 서버 및 스토리지 포함) 쪽에 대한 이해도가 높다면 매우 큰 도움이 될 것입니다
그리고.. 가장 중요한…
뭔가 똥꼬가 찌릿찌릿하고 머리 속에서 떠나지 않는다라면 잡으세요..
다만 똥인지 된장인지 가려가면서 먹어야합니다 -_-;;
이게 참 어려운데.. 먹어보기 전에는 모르는 경우가 많기에.. 일단 간을 보고 제대로 씹기전에 삼킬지 뱉을지를 잘 결정해야 합니다..
돈 몇 푼 따라 갔다가 그거에 목 매달고 살게 될 수도 있으니.. 하고 싶은거 정해서 그거 잘 밀고 나가면 됩니다 🙂
허허허….
Unix 계 OS 의 3인방하면 HP-UX, AIX 그리고 Solaris 이렇게 생각이 되는데 HP-UX야 이름에서 알 수 있듯 HP머신 아니면 돌질 않고–;; AIX는 IBM에서만 돌고 결국 지금 범용으로 쓸 수 있는건 Solaris 말고는 없다라고 결론 🙂
OS 전체를 밀고 다시 까는건 지금 상황에서는 할 수 없으니 가상머신의 도움을 받아서 설치를 시작
1. OS 이미지 다운로드
http://www.opensolaris.com
http://www.opensolaris.org
현재의 최신 버전은 2008년 11월 버전인 08.11
해당 ISO파일을 굽고 부팅하면 사실 설치 하지 않아도 맛은 볼 수 있는 상태가 됨 🙂
물론 LiveCD방식이기에 이것저것 하고 놀기에는 느리긴 하지만.. 그냥 재미삼아.. 그리고 설치를 위해서는 어쩔 수 없이 🙂 일단은 LiveCD로 부팅을 함
2. 설치
우분투를 설치해본 경험이 있다라면 아주 쉽게 적응 할 수 있을 듯..
설치 패키지 부터 한글도 지원을 하니 큰 문제 없이 설치가 완료될 것이라 생각~
3. 첫만남
우분투를 그대로 배껴놓은 듯한 메뉴를 가진 파란 바탕화면을 볼 수 있음 🙂
Firefox도 있고 하니 인터넷이 된다면 그 때부터는 인터넷으로 모든 패키지나 소프트웨어등을 받을 수도 있고 놀 수도 있다 ㅎ
4. 뭔가는 해봐야지–;;
Unix/Linux 계열의 얼굴마담 소프트웨어인 Apache+MySql+PHP를 설치해보기로 결정
# su (관리자 패스워드 입력)
# pkg install amp
기다리면 끝;;
아 쉽다 -ㅅ-;;
데비안 만든 사람이 Sun으로 옮겨 간 후에 참가해서 그런지 데비안 기반의 리눅스가 가지고 있는 설치의 편리함이 솔라리스에도 녹아들어가있음 🙂
5. 모듈들 실행
/usr/apache2/2.2/bin/apachectl start
/usr/mysql/5.0/bin/mysql_install_db –user=mysql
/usr/mysql/5.0/bin/mysqld_safe &
그리고 나서 Firefox 열고 http://localhost 하면
아마도 It works! 화면이 반겨줄듯~ 🙂
mysql 은 경로 찾아 들어가서 접속하면 바로 될듯 하고
php는 phpinfo() 해보니 잘 출력되더라는~ 이렇게까지만 되어도 일단은 만족~ ㅎ
이제 솔라리스로 서버도 깔 수 있게 되었으니 mysql 기본 사용법은 검색하면 아주 많이 나오니 그거 따라하면 되고 백업도 되고 아파치도 돌고 하니 프로덕션으로 써도 큰 문제는 없는 환경까지는 만들었음 🙂
물론-_-;; 이렇게 환경 만들면 난리나지만서도;;;;;
리눅스 말고 솔라리스! 에서 돌아가잖아~ 🙂
ps. 사실 솔라리스 사용자들이 극찬을 마지않는 ZFS 파일 시스템이 써보고 싶어서 솔라리스에 관심이 있었는데 이제서야 내 실력으로 설치 정도는 할 수 있는 패키지가 나오기 시작하는듯.. 기존에는 깔기만 했지 이거 뭐 제대로 돌려본 적이 없었으니 ㅠㅠ
오늘 간만에 한번 실무에서 써봤으니 까먹지 않게 정리 한판..
작업 하다보면 txt파일 또는 csv등의 파일들을 DB에 넣어야 할 경우가 많은데 phpmyadmin 을 쓰지 않는 이상 쿼리로 모든 것을 해야하니 이번에 작업 하나 한 김에 또 잊기전에-_- 기록 남겨놓기 🙂
쿼리를 이렇게 날립시다
mysql > LOAD DATA INFILE ‘/경로/파일이름.txt’ INTO TABLE ‘테이블’ FIELDS TERMINATED BY ‘\t’ LINES TERMINATED BY ‘\n’ (필드1, 필드2);
이렇게 하면 /경로/파일이름.txt가 ‘테이블’ 이라는 이름의 테이블로 입력 되는데 필드1, 필드2 라는 이름의 필드들에 해당 값이 import 됨
에러가 나와도 진행을 하기 위해서 필드 뒤에 IGNORE 1 LINES 명령어를 넣어주면 됨
작업 좀 편하게 합시다~ 🙂
mysql 로그인 도 귀찮은 경우에는
$> mysql -uroot -p -e “LOAD DATA INFILE ‘/경로/파일이름.txt’ INTO TABLE ‘테이블’ FIELDS TERMINATED BY ‘\t’ LINES TERMINATED BY ‘\n’ (필드1, 필드2);”
이렇게 처리를 해주면 로그인을 한 화면에서 다시 붙여넣기를 하지 않아도 자알 들어감..
windows기반에서 apache mysql php의 연동은 정말 넘치고 넘쳐있으니;; 죄송하지만 검색 한번 해보시면 나올듯 하고
글을 적는 이유인 windows 기반에서 wordpress를 연습 or 서비스 (설마;;) 할 때의 도움이 되는 설정 내용
apache+mysql+php 설치후 설정할 것들..
httpd.conf에 추가될 내용
1. LoadModule rewrite_module modules/mod_rewrite.so 에 있는 주석 제거
2. php 설정 – 이건 아마도 이미 apache와 php의 연동에서 처리가 되었을 부분
LoadModule php5_module “D:/PDS/php-5.2.5-Win32/php5apache2_2.dll”
AddType application/x-httpd-php .php
PHPIniDir “D:/PDS/php-5.2.5-Win32/”3. 경로와 권한설정
<Directory “D:/document/wordpress”>
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
예전에 적어놓았던 403에 대한 에러 역시 수정됨.. 중요한것은 mod_rewrite.so 이 부분과 AllowOverride 설정을 All 로 변경해주는 것..
위의 내용까지 처리가 되었다라면 permanent link부분까지 처리가 다 될듯
이거 제대로 처리 안되면 http://localhost/?p=번호 이런 식으로만 처리가 되고 (물론 보고 즐기는데는 상관없지만 이왕하는거 ㅋ) 나름 fancy한 링크인 permalinks가 먹질 않고 404 에러를 토해낼테니–;; 그게 보기 싫으면 위의 설정을 해주면 깔끔~
제목이 이상하지만 MySQL을 쓰다보면 사용자를 추가 했는데 로그인이 안된다거나 패스워드를 변경했는데 변경되지 않은 것으로 나올 때가 있는데 이 때 사용하면 대부분의 경우 해소가 되는 명령어가
flush privileges;
root로 로그인 한 다음에 저거 한번 해주면 모든 변경 사항이 싸악 적용되면서 원치 않던 에러가 많이 해결되리라 생각됨 🙂
많이 착한 명령어중 하나임~
쓰고있는 laptop에서 apache+php+mysql 이렇게 세가지를 다 돌리려다 보니 각종 에로사항이 마블링-ㅂ-처럼 피어올라 정리-_-;
먼저 조건이라면
1. 아래에 해당 하는 경우는 압축을 풀어 설치하는 설치본에 해당하는 경우임
2. 버전은 MySQL 5.0.51b win32 를 기준으로 함
3. Windows XP with Service Pack 3 이 기본 OS임 (별 상관은 없는-_-)
Administrative tool에 있는 Service항목에서 mysql 서비스가 실행이 안되어있는 것을 확인해서 시작을 시키려고 하니 에러가 발생
Could not start the MySQL service on Local Computer.
Error 1067: The program terminated unexpectedly.
흠.. 도와줘요 구글~
forums.mysql.com 에 링크가 걸림.. 영어 압박 -ㅅ-;;
일단 문제는 경로설정 (linux에서는 이런거 없었던거 같은데 ㅠㅠ 컴파일이 귀찮긴했어도-_-)
윈도설치경로가 C:\라면
c:\windows\my.ini 가 있다면 수정 없다면 생성을 먼저 한 후 아래의 내용을 추가해준다
[mysqld]
basedir=D:/MySQL
datadir=D:/MySQL/data
여기서 경로는 자신이 압축을 푼 그 위치를 의미함 내 경우에는 D:\에 mysql이라는 디렉토리에 압축을 풀었기에 저런 설정을 추가해줬음..
그 뒤에 다시 Service가서 시작 해주면 아주 깔끔하게 🙂 시작이 되는 것을 확인 할 수 있습니다~