doctrine에서 mysql의wait처리 timeout(EC-CUBE3)

하고 싶은 일


웹 서버의 mysql waittimeout 변경 안 함
스크립트에서 대화식 연결이 아닌 유휴 시간 초과 (초) 를 변경하려고 합니다.

설정 값 확인


mysql> show global variables like '%timeout%';
+-----------------------------+----------+
| Variable_name               | Value    |
+-----------------------------+----------+
| connect_timeout             | 10       |
| delayed_insert_timeout      | 300      |
| have_statement_timeout      | YES      |
| innodb_flush_log_at_timeout | 1        |
| innodb_lock_wait_timeout    | 50       |
| innodb_rollback_on_timeout  | OFF      |
| interactive_timeout         | 28800    |
| lock_wait_timeout           | 31536000 |
| net_read_timeout            | 30       |
| net_write_timeout           | 60       |
| rpl_stop_slave_timeout      | 31536000 |
| slave_net_timeout           | 60       |
| wait_timeout                | 60       |
+-----------------------------+----------+

스크립트에서 처리


// mysql 非対話型接続のアイドルタイムアウト時間を変更
$em = $this->getEntityManager();
$sql = 'SET wait_timeout=28800';
$stmt = $em->getConnection()->prepare($sql);
$stmt->execute();
$stmt->closeCursor();
이 스크립트를 실행할 때만 mysql의 시간 초과 값은
60초→28800초(8시간)
로 수정합니다.

좋은 웹페이지 즐겨찾기