Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Problem z przekroczeniem limitu czasu połączenia z podstawowym źródłem danych (przy użyciu mysql)

Rzeczy, których możesz spróbować:

  1. setMaxWait(-1) w podstawowym źródle danych. To każe mu czekać w nieskończoność na połączenie.

  2. Sprawdź, czy wait_timeout na twoim serwerze MySQL jest ustawione domyślnie na 8h.

  3. Ustaw ?autoReconnect=true na Twoim adresie URL JDBC

  4. setTestOnBorrow(true) w podstawowym źródle danych. Zapobiegnie to przekazywaniu nieaktualnych połączeń, ale zwiększy obciążenie Twojej aplikacji (chociaż jeśli masz już tak długie pojedyncze zapytania, prawdopodobnie nawet tego nie zauważysz).

Ogólnie uważam, że ponowne używanie połączenia jest złym pomysłem. Dla mnie celem posiadania basenu jest to, że nie muszę tego robić.

Czy Twoje zapytania mają charakter transakcyjny? Czy jakieś naprawdę długie zapytanie blokuje główną tabelę?




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. W MySQL:Jak przekazać nazwę tabeli jako procedurę składowaną i/lub argument funkcji?

  2. Błąd MySQL::'Odmowa dostępu dla użytkownika 'root'@'localhost'

  3. Błąd składni PHP PDO lub naruszenie dostępu:1064 przy wstawianiu

  4. Prawidłowe użycie BoneCP

  5. Nie można przekonwertować varchar na datetime w MySql