[mythtv-users] DB charset pre-conversion test failed! Your database seems to be partially corrupted.

Brian J. Murrell brian at interlinx.bc.ca
Mon Nov 9 20:11:55 UTC 2009

On Mon, 2009-11-09 at 14:08 -0500, Michael T. Dean wrote: 
> You'd be amazed at how quickly you'll get things set up again.  Doing it 
> the first time is hugely time-consuming.  Doing it a second time is 
> /much/ faster.  And, once you get it working, you can fine-tune settings 
> as you notice things not working as desired.

It's all of the "over-the-years" tweaks that I don't look forward to
having to find again by trial and error, driving the WAF down every time
we have to stop watching something for "just a sec., while I fix that".

> I will consider any patches that anyone *else* submits.

Well, if I knew how I could run just the database schema upgrade (with
any luck in a verbose mode) over and over again, I could debug against
my pristine database copy and cook up such a patch.

But the only way I have come across to run the upgrade is by starting up
the whole backend and watching what is logged to the backend log.

Ideally, a command line tool that I could sprinkle printfs into would
even be fine.  I can debug -- when I don't have to spend days learning
the whole framework around what I need to debug.

> I have already 
> spent >> 100hrs of my own time working on DB corruption issues (from 
> diagnosing issues to finding ways to detect/prevent problems from those 
> issues) and possible fixes,

That's awesome.  It really is.  And I am willing to help myself if I can
get a jumpstart into the meat of the problem and not have to spend days
just getting useful.

> Yes, I know that as a FOSS developer, I'm supposed to give freely of my 
> time to make software better for other users,

Well, that's, a really nice situation but even I know it's not
sustainable.  Teach us to fish (and/or make the fishing gear easy to
use) instead of throwing us fish.  :-)

> I had fully intended to create a script that:
> a) tests the DB schema for charset corruption,

That would be sweet.

> b) if present, determines whether it's "equal" corrution or "partial" 
> corruption,

Fortunately (or maybe unfortunately since this kind of corruption is
known with a solution) according to the mysql status, I don't have this

$ mysql -umythtv -p mythconverg -e 'status;'
Enter password: 
mysql  Ver 14.12 Distrib 5.0.51a, for debian-linux-gnu (i486) using readline 5.2

Connection id:		162
Current database:	mythconverg
Current user:		mythtv at localhost
SSL:			Not in use
Current pager:		stdout
Using outfile:		''
Using delimiter:	;
Server version:		5.0.51a-3ubuntu5.4 (Ubuntu)
Protocol version:	10
Connection:		Localhost via UNIX socket
Server characterset:	latin1
Db     characterset:	latin1
Client characterset:	latin1
Conn.  characterset:	latin1
UNIX socket:		/var/run/mysqld/mysqld.sock
Uptime:			17 hours 14 min 55 sec

Threads: 5  Questions: 128334  Slow queries: 3  Opens: 620  Flush tables: 1  Open tables: 41  Queries per second avg: 2.067

That is on my 0.21-fixes database.  Am I reading and understanding that
all correctly?

> --all the while keeping the user informed of what's happening and the 
> consequences of the fix.  However, because of the amount of time I had 
> already spent and the amount of time creating a "releasable-quality" 
> version of such a script would take, I never got around to it.

Nobody can fault you for that.  You have invested a lot of time already.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: This is a digitally signed message part
URL: <http://mythtv.org/pipermail/mythtv-users/attachments/20091109/17eec06a/attachment.pgp>

More information about the mythtv-users mailing list