php extension , memcache 와 memcached 의 차이점은 뭐지?

php 에서 memcached 데몬을 사용하기 위해서는 php 확장이 필요하다.

pecl 패키지로 설치하게 되는데, 두가지 버전이 있다.

http://pecl.php.net/package/memcache ( stable : 2.2.6 - 2010/10/03 , beta : 3.0.6 - 2011/04/11)
http://pecl.php.net/package/memcached ( stable : 2.0.1 - 2012/03/03 )


memcache 와 memcached 의 차이점은 뭔가?


memcached 는 memcached 데몬에 딸려오는(?) libmemcached 를 활용한다.

memcache 는 직접 처리하는 것 같다.

그래서,   http://us3.php.net/manual/en/book.memcache.php
보다  http://us3.php.net/manual/en/book.memcached.php

가 기능이 더 많다. libmemcached 의 전체 기능을 쓸 수 있기 때문이다.(memcache 는 직접 구현해야 한다)


php 버전 지원차이는

memcache 는 이전 버전 php 4.3.11 이상
memcached 는 php 5.2 이상

즉, 이전버전 php4 를 쓰면 어쩔 수 없이 memcache 를 써야 한다.
(우리 모두 php5 이상으로 업그레이드 하자. 현실은 ㅜㅜ)



반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,

불법사찰 저지른 이명박 정부는 책임져라

이 블로그는 정치적인 글을 쓰지 않으려했다.

그러나, 지금의 시국은 국가가 잘못된 지도자에 의해 얼마나 추락할 수 있는지 보여주고 있다.

이명박 정부는 불법사찰에 대한 명확한 사실관계를 밝히고, 연루된 자들을 처벌하라.

그리고 모든 부분에 책임을 면할 수 없는 이명박대통령은 즉각사퇴하라.

스스로 물러나지 않으면, 개처럼 끌려내려올 것이다.


반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,

ssh 원격 실행을 하고 싶을때

ssh {host} {명령}

이런식으로 해주면 된다.

그런데, 불편한 메시지가 나온다. 
  Pseudo-terminal will not be allocated because stdin is not a terminal

항상 나오는 것은 아니고, 단일명령을 주면 나오지 않는다.
command.sh 에 실행명령을 작성하고,  ssh {host} < command.sh  형식으로 할때 메시지가 나온다.

그런경우  ssh -t -t (두번)  옵션을 주어 실행하면 된다.

근데, 실행명령이 다 보인다. 

이때는 ssh -T 옵션을 준다.

그런데, 또 불편한 메시지가 보인다.
   TERM environment variable not set.

 ssh 실행시 해당 TERM 환경변수가 설정되지 않아서 그렇다.
타겟서버의 .ssh/environment 파일에(보통 파일이 없다. 그래서 새로 만들고)
  BASH_ENV=.profile
을 추가해준다. (경우에 따라서 .profile 을 .bash_profile 로 변경)

또는 그냥 간단하게, 명령셋에 다음을 추가해준다.

  export TERM=xterm

 

좀 이상하다. 나오다가 지금은 또 안나오네.(TERM ..)
 

반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,
마스터는 mysql 5.0.77  이고,  슬레이브는 mysql 5.5.19 이다.
잘될까? 지금 테스트 중이다.

1. mysql 5.5.x 에서 slave 설정시 다른점?
mysql 5.5.19 에서 my.cnf 쪽 설정이 조금 다른것 빼고는 잘 작동하는 듯 하다.
예전글 http://blog.1day1.org/454 과 큰차이는 없는데.
버전업이 되서 그런지, 뭔가 바뀐것인지
master-host             = master
master-user             = replication
master-password     = slave
다음과 같은 옵션이 먹지 않는다.
이런 메시지가 나오면서, 5.5 자체이거나 해당 패키지에서 해당 옵셥이 빠진듯 하다.
/usr/libexec/mysqld: unknown variable 'master-user=replication'

대신에, mysql 콘솔에서 직접
CHANGE MASTER TO MASTER_HOST='master', MASTER_USER='replication', MASTER_PASSWORD='slave';
이렇게 해주면 된다. (안되는 이유는 좀더 알아봐야 겠다)



2. master 데이터 slave 로 복제.

slave 를 하나더 만들고 싶어서 복제 세팅을 한다.
그리고 데이터를 복제하려한다.

# master 쪽 : 데이터 덤프
master 에서 dump 할때 position 을 기록한다.
mysqldump --master-data=2 --databases DB1 DB2 > slave.dump.sql
진한 부분의 옵션이 중요하다. 저 옵션이 있어야, master 로그 포지션이 기록된다.
1 은 명령으로 dump , 2 는 기록은 되는데, 코멘트로 덤프됨( -- CHANGE ... 처럼)
둘중 어느것으로 해도 상관없음.
slave 에서 직접 CHANGE MASTER ... 명령을 내리느냐 restore 시 같이 하느냐 그 차이.

# slave 쪽 : 위치에 맞게 restore.
slave 에서 데이터를 업데이트한후(stop slave; 를 먼저 한 상태) 다음명령으로 위치를 잡아준다
아래 위치는 덤프파일을 앞 부분을 보면 나온다. ( head slave.dump.sql -n 30 정도면 나온다)
CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000200', MASTER_LOG_POS=200500;
그리고, start slave;



반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,

authorized_keys2 를 .ssh 디렉토리에 넣으면 바로 접속이 가능했다.
그런데, centos6 에서는 계속 비번을 물어본다.

다음명령을 내려준다.

restorecon -R -v /root/.ssh

selinux 와 관련있는듯 하다. 버그라고도 하고.(좀더 살펴봐야 겠다)

selinux 를 끄는게 정답인가?


ps. authorized_keys2 의 권한설정 , sshd_config 를 이리저리 설정해봐도 안되는 경우가 바로 저 문제.
  selinux 를 끄는 것이 좀 찜찜하다면 저 방법으로.

반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,