MythTVのデータベース移行

MythTVの再インストール時に設定をやり直したので、録画済みの動画をMythTV上で直接扱えなくなった。そこで、以下の方法で古いデータベースから必要なデータだけを移行させた。

  • 1.mythbackend, mysqlを止める
  • 2.現在のsqlデータベース(/var/lib/mysql以下)を待避し、古いデータベースをコピー
  • 3.mysqlを動かす
  • 4.mysqldumpする

% mysqldump -u mythtv -pmythtv mythconverg -c > ~/mythtv_old.sql

  • 5.mysqlを止める
  • 6.待避した現在のデータベースを元に戻す
  • 7.mysqlを動かす
  • 8.必要なデータのみデータベースに追加する(recordedだけでもいいと思うけど念のためoldrecordedも)

% grep 'INSERT INTO recorded' ~/mythtv_old.sql | mysql -u mythtv -pmythtv mythconverg
% grep 'INSERT INTO oldrecorded' ~/mythtv_old.sql | mysql -u mythtv -pmythtv mythconverg

  • 9.mythbackendを動かす

8でcategory_typeというcolumnが見つからないというようなエラーが出た場合は、その前に

% mysql -u mythtv -pmythtv mythconverg
mysql> alter table recorded add column category_type VARCHAR(64) NULL;
mysql> quit

が必要かもしれない。