[mythtv-users] sanity check or repairing DB for 0.22 upgrade.

Alan Anderson andersonas at comcast.net
Thu Nov 19 01:09:08 UTC 2009


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.

So I put everything back to v0.21 of mythtv

In my attempt to fix this corruption I do the following:


service  mythbackend stop

Run mythconverg_backup.pl to backup the database

service mysqld stop

tar up /var/lib/mysql
mv /var/lib/mysql /var/lib/mysql-old
mkdir mysql
service mysqld start

recreate the db
# mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD('PASSWD') WHERE user='root';
mysql> FLUSH PRIVILEGES;
mysql> quit

mysql -u root -p < /usr/share/doc/mythtv-docs-0.21/database/mc.sql

run mythtv-setup  reconfigure the tuners schedules direct etc   The local 
backend is 192.168.123.20 ports 6543 and 6544   The master backend is 
192.168.123.20 port 6543 on the general setup screen. 

allow access to the front ends
$ mysql -u root -p mythconverg
grant all on mythconverg.* to mythtv@"192.168.123.%" identified by "mythtv";
flush privileges;
quit

Do a partial restore
mythconverg_restore.pl --partial_restore --filename=filebackedupabove

service mythbackend start
But the front ends can access the database but not the master backend.  

The mythfrontend.log says its trying to connect to 192.168.123.20 6543 and the 
tcpdump confirms this.  The master BE resets the connection attempt.

I have also tried all three IP address for the front ends into the data base.   
The setup on the frontends is saved so the database part works.  Why the 
rmaster backend is not listening on the correct port bothers me.


If I stop mysqld and mythbackend put the old database back in /var/lib/mysql 
start everything back up its working.

So what silly thing am I doing wrong and where does mythbackend gets its port 
beside from mythtv-setup?


Running on the old data base the FE's get in on port 6543.   But mythbackend 
listens on tcp 6543 6543 and udp 6549

# netstat -anp | grep mythbackend
tcp        0      0 0.0.0.0:6543                0.0.0.0:*                   
LISTEN      2349/mythbackend
tcp        0      0 0.0.0.0:6544                0.0.0.0:*                   
LISTEN      2349/mythbackend
tcp        0      0 192.168.123.20:6543         192.168.123.22:40112        
ESTABLISHED 2349/mythbackend
tcp        0      0 192.168.123.20:6543         192.168.123.22:40117        
ESTABLISHED 2349/mythbackend
tcp        0      0 192.168.123.20:6543         192.168.123.22:40116        
ESTABLISHED 2349/mythbackend
tcp        0      0 192.168.123.20:49877        192.168.123.230:65001       
ESTABLISHED 2349/mythbackend
tcp        0      0 192.168.123.20:6543         192.168.123.22:40111        
ESTABLISHED 2349/mythbackend
tcp        0      0 192.168.123.20:49878        192.168.123.230:65001       
ESTABLISHED 2349/mythbackend
udp        0      0 255.255.255.255:1900        0.0.0.0:*                               
2349/mythbackend
udp        0      0 239.255.255.250:1900        0.0.0.0:*                               
2349/mythbackend
udp        0      0 0.0.0.0:6549                0.0.0.0:*                               
2349/mythbackend
unix  3      [ ]         STREAM     CONNECTED     9740   2349/mythbackend
unix  3      [ ]         STREAM     CONNECTED     9728   2349/mythbackend
unix  3      [ ]         STREAM     CONNECTED     9726   2349/mythbackend
unix  3      [ ]         STREAM     CONNECTED     9672   2349/mythbackend







More information about the mythtv-users mailing list