[mythtv-users] sanity check or repairing DB for 0.22 upgrade.
Michael T. Dean
mtdean at thirdcontact.com
Thu Nov 19 03:22:59 UTC 2009
On 11/18/2009 09:39 PM, Alan Anderson wrote:
> On Wednesday 18 November 2009 18:20:56 Michael T. Dean wrote:
>
>> On 11/18/2009 08:09 PM, Alan Anderson wrote:
>>
>>> Sanity check please.
>>>
>>> I have one master backend mythbackend version: 0.21.20080304-1 and three
>>> front ends. I have had the same data base for 5 or more years.
>>> Typically when I upgrade I backup /var/lib/mysql upgrade the version of
>>> fedora and restore /var/lib/mysql. So far it has always worked. I have
>>> backups of mythconverg but never needed them. I also run the script
>>> /usr/share/doc/mythtv-docs-0.21/contrib/optimize_mythdb.pl weekly.
>>>
>>>
>>> When I tried to install V0.22 I ran into the following scheme update
>>> issue.
>>>
>>> Query was:
>>> ALTER DATABASE mythconverg DEFAULT CHARACTER SET latin1;
>>> Driver error was [2/1283]:
>>> QMYSQL3: Unable to execute statement
>>> Database error was:
>>> Column 'filename' cannot be part of FULLTEXT index
>>>
>>> Every time I start a front end the error occurs.
>>>
>>>
>>> From my understanding this is issue where some UTF characters got into
>>> the data base when everything should be latin1. I need to do a partial
>>> restore to fix this. I need to fix the data base before I can upgrade to
>>> V0.22.
>>>
>> That's something very different. I'd bet you're running with MySQL
>> strict mode enabled (which is the default for MySQL on Windows)--which
>> will break Myth.
>>
>> http://www.gossamer-threads.com/lists/mythtv/dev/391418#391418
>> http://www.gossamer-threads.com/lists/mythtv/dev/391420#391420
>>
>> (and I'm 99% positive that even TRADITIONAL mode will break myth).
>>
>> If not, the problem is just the way you restored with binary data
>> files. You should /always/ use a SQL-based mythconverg backup when
>> upgrading the MySQL server***.
>>
>> Also note that dropping a 0.21-fixes database data files on top of a
>> 0.22-fixes database schema's database files will break Myth. You need
>> to ensure you DROP the 0.22-fixes database (or otherwise remove it
>> completely).
>>
>> Mike
>>
>>
>> ***Yeah, I said "mythconverg backup," thereby implicitly excluding
>> backups performed by MySQL database admins on work database systems.
>> Basically, you have to know what you're doing /and/ what MySQL changes
>> occured to reliably do binary-file restores. There's no reason any
>> MythTV user should /ever/ be expected to do this, so just use SQL-based
>> backups.
> I am not trying to drop a 0.21 database on a 0.22 mythtv. The current running
> database was never touched by 0.22 mythtv.
>
> I put 0.22 aside for now. I am trying to do a partial restore of a 0.21
> backup on a new 0.21 database.
>
> If I can get this done then I'll try another 0.22 upgrade.
>
> I don't know how MS windows mysql strict mode setting would have been set I
> only use Fedora core in mythtv (started FC2 current is FC11).
>
> I'll research it further to see if there is a way to identify if strict mode
> is set or not. What mode does mythtv need?
>
> I don't see a sql-mode in the /etc/my.cnf file so I'll keep looking
The point behind all of my rambling was:
a) You do not have any indication of charset corruption, so do /not/ do
the fixes from the
http://www.mythtv.org/wiki/Fixing_Corrupt_Database_Encoding page
b) You should try again (with /either/ 0.21-fixes or 0.22-fixes) using a
database that was properly restored from a SQL-based backup of your
0.21-fixes database using a full restore (not a
partial-restore/lose-all-your-configuration approach).
All of the other stuff was just "things that might be have caused the
breakage"--as your database itself was broken when you tried the upgrade
to 0.22-fixes.
Note, also, that strict mode isn't just a Windows thing--it's just that
it happens to be enabled by default on Windows, and most of the (sane)
GNU/Linux distros seem to not mess with it/leave it at default/leave it off.
Mike
More information about the mythtv-users
mailing list