30 초마다 데이터베이스에 특정 XML 정보를 업데이트하는 스크립트를 PHP로 작성하고 있습니다. (나는 다른 스크립팅 언어를 사용할 수 없으며 PHP와 어쨌든 쉽게 작업 할 수 있습니다.)PHP에서 MySQL 연결이 사라짐
그러나이 PHP 스크립트를 몇 분 동안 실행할 수 있기 때문에 mysql 데이터베이스가 떨어져 나가는 경향이 있습니다. 많이.
그래서 링크 식별자를 사용하기 시작했습니다.
그러나 여러 식별자를 만들면 다른 식별자가 다시 떨어져 버립니다. 이제 내 질문에
function get_db() {
require 'config.php'; // Containing passwords
$mydb = mysql_connect($db_ip,$db_user,$db_pass) or die('<br>MySQL Error get_db() function: ' . mysql_error() . "</b>\n");
mysql_select_db($db_name, $mydb) or die('<br>MySQL Error get_db() function (Kan databank niet benaderen): ' . mysql_error());
return $mydb;
}
: 규모에
- 을
그래서 나는이 기능을 사용하여, 나는 쿼리를 수행하는 것마다 새로운 DB 연결을 만들 거라고 생각 1에서 10까지, 얼마나 나쁜 생각입니까?
- 심지어이 기능을 사용하더라도 때때로 사라진 서버에 대해 불평합니다.
MySQL 서버가 사라졌습니다.
무엇을 제공합니까? 그리고이 문제를 해결하는 가장 좋은 방법은 무엇입니까?
MySQL 서버의 "wait_timeout"시간이 매우 짧거나 누군가 서버를 잘못 사용하고있는 것처럼 서버 문제와 유사합니다. 하지만 MySQL 서버는 "없어져서는 안되며"기본 시간은 8 시간이므로, 조사를 시작합니다 :) –
"wait timeout"변수가 "3,600"으로 설정되어 있습니다. 이들은 초입니까? 그리고 한 시간 동안 그렇게 서 있습니까? 저는 hostgator에게 그들이하는 일을 물어봐야 할 것 같습니다. – skerit
mysql 로그를 확인하십시오. 내 경험상, mysql 연결이 끊어지는 것은 대개 mysql 서버가 충돌하고 다시 시작하는 것입니다. 가능한 경우 피해야 할 것이 있습니다. 더 큰 계획에서 모든 쿼리에 대해 새로운 연결을 만드는 것은 비효율적이지만 30 초에 한 번만 수행하는 경우 실제로 그렇게 나쁘지는 않습니다. –