I have very very simple identical query with one WRERE which will return only one row result. After random time from 1 minute to few hours with same query will return nothing, but that row is in table. My PHP 7.4.xx PDO client will not throw any exception, no error, no warning, nothing. Just return 0 rowCount.
Otherwise it works well and always return requested row.
At the moment when this happen, I send my ping() command which is like "SELECT 1+1" and it will return 2 without problem.
PDO::ATTR_PERSISTENT => false,
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_EMULATE_PREPARES => false,
PDO::MYSQL_ATTR_FOUND_ROWS => true,
queries after connections:
SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci;
SET CHARACTER SET utf8mb4;
SET SESSION sql_mode = "NO_BACKSLASH_ESCAPES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION";
SET collation_connection = utf8mb4_unicode_ci;
SET collation_server = utf8mb4_unicode_ci;
By me query is not soo important as the fact.
CREATE TABLE IF NOT EXISTS `datas`
`id` varchar(32) NOT NULL,
`access` int(10) unsigned DEFAULT NULL,
`data` text NULL,
PRIMARY KEY (`session_id`)
) ROW_FORMAT = DYNAMIC
ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4
COLLATE = utf8mb4_unicode_ci;
I made all possible debugs which I can do but nothing found.
Today I tried create test with some procedure which will select same row and after some correct calls my DB crashed and its impossible start it.
My test with Win10 machine is everything OK.