[mythtv-users] Database upgrade fails - lost connection to MySQL ?
Per Jessen
per at computer.org
Thu Dec 19 14:50:20 UTC 2019
Stephen Worthington wrote:
> On Thu, 19 Dec 2019 10:38:20 +0100, you wrote:
>
>>Per Jessen wrote:
>>
>>> My migration is progressing albeit slowly. I have now hit this
>>> issue twice -
>>>
>>> 2019-12-18 17:19:55.724116 E DB Error (Performing database
>>> upgrade): Query was: UPDATE recordedseek SET starttime =
>>> CONVERT_TZ(starttime, 'SYSTEM', 'Etc/UTC') ORDER BY starttime
>>> Error was: Driver error was [2/2013]:
>>> QMYSQL: Unable to execute query
>>> Database error was:
>>> Lost connection to MySQL server during query
>>>
>>> 2019-12-18 17:19:55.724147 E Database schema upgrade failed.
>>> 2019-12-18 17:19:55.767735 I MySQL reconnected successfully
>>> 2019-12-18 17:19:55.819067 E Couldn't upgrade database to new
>>> schema.
>>>
>>> The update statement is actually continuing,
>>>
>>> I have just had my third attempt fall over - recordedseek has 54mill
>>> rows, that update _will_ take a while. Is there a time out I can
>>> fiddle with?
>>
>>It looks like it is the default 300 second timeout that kicks in.
>>
>>I patched libmythbase to use MYSQL_OPT_READ_TIMEOUT=999 instead and
>>now the update process stopped at almost exactly 999 seconds.
>>
>>I guess I'm stuck with rebuilding from source to get a sufficient
>>timeout value?
>
> The parameter used to set options like that is an unsigned int, so you
> should be able to patch it to a much higher value than 999.
It's a null-terminated string though: "MYSQL_OPT_READ_TIMEOUT=999", but
I tried 9999 with a trailing 0, didn't work. Right now I'm trying with
just 60, which should have stopped, but hasn't. Very odd. (1782
seconds active, longer than ever).
> I do also wonder why I would not have had the same problem when I was
> doing that upgrade, as I have a huge number of recordings. It might
> have been that I had already upgraded my system drive (where the
> database files are) to a super fast NVMe M.2 SSD by then. That did
> speed up all my database activity a great deal.
I'm planning to upgrade the database to SSD flash too, maybe I'll have
to do it sooner rather than later.
> And a lot of other things too. Definitely a worthwhile upgrade, if
> you have not done it already. My motherboard did not have an M.2
> socket, so I used a PCIe x4 card with an M.2 socket to mount it on.
Step1 will be SSD flash on SATA, but database speed has been a bit of a
pain for a while, I might well have to do more.
> Another variant of that would be to dump all the seek table records
> from recordedseek using mysqldump, then delete them. Do the upgrade,
> then see what the changes are in the schema for the recordedseek
> table. Load the dumped records into a clean database and manually do
> all the schema updates to those records, then dump them again and
> insert the dumped records into the newly upgraded real database.
Yes, I have been pondering that one too. Thanks.
--
Per Jessen, Zürich (8.2°C)
More information about the mythtv-users
mailing list