Hej,
Od niedawna borykam się z nietypowym jak dla mnie problemem, nietypowym - ponieważ nie występuje zawsze, a raz na jakiś czas w nieznanych mi okolicznościach. Strona napisana w PHP, do bazy danych MySql (MariaDB) łączę się przy pomocy biblioteki PDO z parametrem ATTR_EMULATE_PREPARES ustawionym na "false" (i wolałbym go tak zostawić)
Raz na jakiś czas połączenie z bazą danych rzuca błędem: PHP Fatal error: Uncaught PDOException: SQLSTATE[HY000]: General error: 1615 Prepared statement needs to be re-prepared in /home/[...]
W większości przypadków wszystko działa jak powinno, a jednak czasem błąd występuje. Ktoś ma pomysł jak to ogarnąć?
Czytałem o potrzebie zwiększenia poniższych parametrów bazodanowych ale przy moich ustawieniach nie wydają się być zbyt niskie:
table definition cache := 4096
table open cache := 10240
-- Edit (rozwiązanie)
To tak dla potomnych, jest to znany błąd w MySql (MariaDB) - wynika z niepoprawnej konfiguracji bazy danych. Aby błąd nie występował, wartość parametru table definition cache musi być większa niż wartość parametru table open cache.