채택완료

서버이전후 MySQL Connect Error!!!

2016-11-30 (수) 16:34:29 6,360
​​안녕하세요.

기존에 서비스되고 있는 웹을 cafe24 서버호스팅 영역에 옮기려고 합니다.

서버에  useradd 하니까 www directory 자동 만들어져서 www 밑에 기존서버 내용을 ftp로 all copy 했습니다.

첫페이지는 intro page라 잘 나왔는데 두번째 page link 로 넘어갈때

MySQL Connect Error!!! 가 나옵니다.

telnet mysql host, user, db 확인했고,

./data/dbconfig.php 에도 자동으로 만들어진 user명으로 만들어졌더군요.

error message는

./common.php 의 132 line 에 있는

    $connect_db = sql_connect(G5_MYSQL_HOST, G5_MYSQL_USER, G5_MYSQL_PASSWORD) or die('MySQL Connect Error!!!');

connection error 입니다. 외부에서 server로의 DB접속은 (토드로 확인) 아주 아주 잘됩니다..

그누보드5에 asktheme-fd 테마를 쓰고 있습니다.

어떤 부분을 확인해야 할까요?
 

|

답변 4개 / 댓글 5개

채택된 답변
+20 포인트

일반 웹호스팅을 받다가
서버호스팅을 한다면

서버 기본 셋팅을 해야 합니다.

사용자 추가

db추가

웹서버내 도메인추가

등 등...

그리고 기존 

data/dbconfig.php 화일을 열어서 추가한 db정보로 바꾸어주고

db내에 기존 백업받은 것도 올려주어야 할 것 같네요

답변에 대한 댓글 1개

네 감사합니다.

mysql 백업:
mysqldump -u 사용자아이디 -p 사용자아이디 > 백업파일명

mysql 복구:
mysql -u 사용자아이디 -p 사용자아이디 < 백업파일명

이렇게 이전서버에서 백업하고 신규 호스팅에 설치하고
혹시나 해서 service mysqld restart 까지 했는데 똑같네요....

복스리신리운비 님 관심가져주셔서 감사합니다.

분명 맞는것 같은데 안되서 여기 저기 로그를 찍어 봤습니다.

dbconfig.php 에서도 찍어보고

common.php 에도 찍어보고

common.php 의 132 line

    $connect_db = sql_connect(G5_MYSQL_HOST, G5_MYSQL_USER, G5_MYSQL_PASSWORD)
         or die('MySQL Connect Error!!!' .mysql_error() . " : " . mysql_errno() );

추가해서 확인해보니 mysql.sock 위치가 예전의  mysql.sock 위치와  mismatch 나서 그랬네요....

cafe24 서버호스팅 APM 기본 설치 해준 socket 위치가 /var/lib/mysql/mysql.sock

 에 있어야 하는데 /tmp/mysql.sock 로 지정이 되 있는 것입니다.

일단  php.ini 에 

    mysql.default_socket = /var/lib/mysql/mysql.sock  이렇게 하고

> service httpd restart 하니까 일단은 예전처럼 뜨네요.

근데 로그인에서 에러 ㅋㅋㅋ 퍼미션 문제 인것 같습니다. 

다시 수정 하러 갑니다 ^^

답변에 대한 댓글 2개

www/data/session 세션 기록하는 부분 permission error 라
> chmod 777 로 바꿨더니 넘어갔습니다....
다른 방법 있나요?
관리자 로그인이 안되서 한참 헤맸는데
홈짱 님의 글

http://sir.kr/qa/139546?page=1&page=1&unanswered=0&s_tag=&cwin=&vsst=&vpage=1#c_156735

참조해서 해결 했습니다. 다시 한번 모든 분들께 감사드립니다.

서버호스팅 받으시는거면

외부에선 DB 접속된다하니, 로컬에서 DB접속 되는지도 확인해보심이..

ex)

mysql> GRANT ALL PRIVILEGES ON db_name.* TO 'user_id'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION; 

답변에 대한 댓글 1개

네 감사합니다.

/data/dbconfig.php 파일을 열어보시면

아래와 같은 정보를 변경해 주셔야합니다.

Copy
define('G5_MYSQL_HOST', 'localhost');define('G5_MYSQL_USER', '[DB아이디]');define('G5_MYSQL_PASSWORD', '[DB비밀번호]');define('G5_MYSQL_DB', ' DB명');define('G5_MYSQL_SET_MODE', false);

해당 정보를 재대로 수정하셨는지 확인해보시기 바랍니다. 

답변에 대한 댓글 1개

넵 이미 확인했습니다. 감사합니다.

답변을 작성하려면 로그인이 필요합니다.