PHP에서 원격의 MySQL을 사용할때 host를 바꾸지 않고 사용하는
지금 서버이전을 준비하고 있습니다.
현재 운영중인 서버는 APM으로 사용중인데요..
새로 설치될 서버로 이전하는 과정에서 문제가 되는 점이 DNS가 갱신될때까지의 DB업데이트 문제입니다..
서버이전 후에는 현재와 똑같은 APM상태로 두고 싶거든요..
예를 들어서, 현시점에서 현재 서버의 모든 데이터를 새로운 설치될 서버로 동기화시킨 후에 ISP의 DNS가 갱신될때까지(1~2일 정도 걸리겠죠?) 이 사이에 업데이트된 DB들은 다시 동기화해야 하는데요..
미러링이나 rsync등의 백업툴을 사용하는 방법도 있겠지만..
이 기간동안 새로 설치될 서버의 MySQL을 사용하면 모두 해결이 될 것 같아서요..
사용중인 웹페이지들은 php가 대부분이고 C로 컴파일된 파일들도 상당한데요.. mysql_connect()가 모두 localhost로 설정되어 있습니다.
모든 페이지들을 다 열어서 원격(IP)으로 바꾼다음에 서버이전이 끝난 다음에 다시 localhost로 바꾸려면 엄청난 작업이 될 것 같아서요..
mysql_connect()에서의 localhost는 /var/lib/mysql/mysql.sock을 통해서 로컬의 mysql로 연결되는게 맞지요?
그렇다면, php 파일들을 다 열어서 일일이 host를 바꾸지 않더라도(host가 localhost로 되어 있더라도) mysql.sock에서 원격의 mysql로 보낼 수 있는 방법이 있는지 알고 싶습니다.
정리하자면, 서버이전을 할때 DB는 원격의 MySQL로 연결하고 싶습니다. 하지만, php의 mysql_connect()에서 host는 'localhost' 그대로 두고 싶습니다..
이럴때 mysql의 소켓에서(꼭 소켓에서의 어떤 설정이 아니더라도) 원격으로 보내버리는 방법이 있는지 알고 싶습니다.
제가 생각한 방법이 아니더라도 ISP의 DNS가 갱신될때까지의 모든 DB들을 새로운 서버로 완벽하게 동기화시킬 수 있는 방법이 있다면 답변부탁드릴께요 :D
Re: PHP에서 원격의 MySQL을 사용할때 host를 바꾸지 않고 사용
구지 그런 꽁수보다는... 개인적인 의견이지만 두 MySQL 서버를 리플리케이션을 시켜주면 될 듯 한데요.
http://redage.net
connection relay 를 시키면 될거 같은데요, 저도 많이 사용
connection relay 를 시키면 될거 같은데요, 저도 많이 사용합니다.
mysql port 로 연결이 되면 저쪽 서버로 연결을 시키게 하면 간단할거 같습니다. 즉 local에는 mysqld를 띄우지 않고 relay server를 띄우는 거죠.
rinetd 가 아주 간단하고 편해서 저는 이거 사용하곤 했는데요, 참고하세요.
PS: 그런데 mysql에 대해서 되는지는 저도 안해봤습니다.
아.. 리플리케이션이란게 있었군요..너무 감사드려요.. 찾아보니까 o
아.. 리플리케이션이란게 있었군요..
너무 감사드려요.. 찾아보니까 oops.org에 자세한 강좌도 있네요..
그 동안 왜 보질 못했는지 모르겠네요..
그리고, rinetd는 꼭 기억해둘께요.. 왠지 다음에 요긴하게 사용하게 될 것 같네요..
감사합니다..
나무가 나무에게 말했습니다. 우리 숲이되어 지키자!
댓글 달기