[mythtv-users] Need help with MythArchive and MySQL

Michael Drons mdrons at yahoo.com
Mon Apr 6 15:33:55 UTC 2009

----- Original Message ----

From: Keith Richie <disturbed1976 at gmail.com>
To: mythtv-users at mythtv.org
Sent: Monday, April 6, 2009 5:41:25 AM
Subject: [mythtv-users] Need help with MythArchive and MySQL

I'm using trunk (20306) and am getting errors starting mythfrontend

2009-04-06 02:12:39.486 Using protocol version 44
2009-04-06 02:12:39.982 Registering Internal as a media playback plugin.
2009-04-06 02:12:40.088 Upgrading to MythArchive schema version 1002
2009-04-06 02:12:40.089 DB Error (Performing database upgrade):
Query was: ALTER DATABASE mythconverg DEFAULT CHARACTER SET latin1;
Error was: Driver error was [2/1295]:
QMYSQL3: Unable to prepare statement
Database error was:
This command is not supported in the prepared statement protocol yet

new version: 1002
2009-04-06 02:12:40.089 Couldn't upgrade database to new schema, exiting.
2009-04-06 02:12:40.090 Unable to initialize plugin 'mytharchive'.

Google has led me to believe that MythArchive (and some others that
also have the same error) should use InnoDB. But "This command is not
supported in the prepared statement protocol yet" makes me think mysql
is too old of a version. The docs say it's new enough  MySQL - You
need this setup and working.  Version 5.0.15 or higher is required. I
have 5.0.67. InnoDB support is in there, both in my.cnf, and when I
recompiled mysql, it was built.

./configure \
  --prefix=/usr \
  --with-mysqld-user=mysql \
  --with-unix-socket-path=/var/run/mysql/mysql.sock \
  --localstatedir=/var/lib/mysql \
  --with-charset=latin1 \
  --enable-assembler \
  --with-raid \
  --without-debug \
  --enable-thread-safe-client \
  --without-bench \
  --with-extra-charsets=all \
  --with-vio \

Current database:    mythconverg
Server version:        5.0.67-log Source distribution
Protocol version:    10
Connection:        Localhost via UNIX socket
Server characterset:    latin1
Db     characterset:    latin1
Client characterset:    latin1
Conn.  characterset:    latin1

mysql> show create table archiveitems;

| archiveitems | CREATE TABLE `archiveitems` (
  `intid` int(10) unsigned NOT NULL auto_increment,
  `type` set('Recording','Video','File') default NULL,
  `title` varchar(128) default NULL,
  `subtitle` varchar(128) default NULL,
  `description` text,
  `startdate` varchar(30) default NULL,
  `starttime` varchar(30) default NULL,
  `size` bigint(20) unsigned NOT NULL,
  `filename` text NOT NULL,
  `hascutlist` tinyint(1) NOT NULL default '0',
  `cutlist` text,
  PRIMARY KEY  (`intid`),
  KEY `title` (`title`)

I used this to convert the table to innodb

mysql_convert_table_format --user=mythtv --password=secret mythconverg
archiveitems --type=innodb

show create table archiveitems;

Same error.

Is mysql 5.0.67 too old for MythTV now?
mythtv-users mailing list
mythtv-users at mythtv.org

The issue is the character set that is used.  The default from myth is utf8 now.  I believe the way I
got around this issue was to backup the table and then drop it.  Allow
the upgrade to happen and then run a query and insert to move the data
back in, changing the charset.  Search the dev list there was discussion on this awhile back.



More information about the mythtv-users mailing list