[mythtv-users] Fixing minor errors in Myth database
Michael T. Dean
mtdean at thirdcontact.com
Sun Apr 28 20:47:13 UTC 2013
On 04/28/2013 09:16 AM, Paul Gardiner wrote:
> On 28/04/2013 00:50, Fred Hamilton wrote:
>> Thanks Mike. You wrote:
>>> To fix corruption, the only supported solution is to throw away
>>> all re-creatable data (settings/configuration/plugin data/...)
>>> and keep only the essential non-re-creatable data (recording
>>> information and history). You do so with a partial restore
>>>
>>>
>>> http://www.mythtv.org/wiki/Database_Backup_and_Restore#Partial_restore_of_a_backup
>>
>>
>> OK. Here are the steps I've taken:
>> mythconverg_backup.pl <http://mythconverg_backup.pl> --verbose
>> That seemed to work fine.
>>
>> The next step in the wiki is to delete the existing database:
>> mysql -uroot -p -e 'DROP DATABASE IF EXISTS mythconverg;'
>> That also seemed to work (no error messages anyway)
>>
>> Then the wiki says "then create a new database (and note that doing so
>> may change MySQL passwords/permissions, so may cause authentication
>> problems).", pointing to
>> http://www.mythtv.org/wiki/MythTV-HOWTO#Setting_up_the_initial_database
>> which seems to say to:
>> $ cd database
>> $ mysql < mc.sql
>>
>> So I got stuck with these three questions:
>> 1. Where is this database directory I'm supposed to cd to?
http://code.mythtv.org/cgit/mythtv/tree/mythtv/database
in your source checkout
>> 2. where can I find mc.sql?
It's always available at:
http://code.mythtv.org/cgit/mythtv/tree/mythtv/database/mc.sql
>> Is it the 320 byte file already on my
>> system at /usr/share/mythtv/sql/mc.sql
Yes, your distro put it there for your use--different distros put it in
different places, so the HOWTO doesn't know where to tell you to look.
That said, the HOWTO is now a wiki page, with the intention of making it
easier to edit/update. It's protected against editing so that all
proposed changes must be approved/accepted, so we ask that anyone adding
suggested changes do so on the discussion/talk page (
http://www.mythtv.org/wiki/Talk:MythTV-HOWTO_-_0.26 ). If you can come
up with a list of directories where different distros place the mc.sql,
we could refer to them in the HOWTO, but I'd want it to be a rather
complete list.
And, feel free to submit suggestions for any other changes you feel
could be helpful.
>> 3. This step has the ominous but not particularly helpful warning that
>> "doing so may change MySQL passwords/permissions, so may cause
>> authentication problems". Can I prevent that by using my old MySQL
>> password or something?
>
> I've recently performed a partial restore. Here's the sequence you need
> (assuming I'm remembering it correctly).
>
> First start up mysql as root:
>
> mysql -u root -p
>
> Then type at the mysql prompt:
>
> DROP DATABASE mythconverg;
> CREATE DATABASE mythconverg;
> GRANT ALL ON mythconverg.* TO mythtv@"%" IDENTIFIED BY mythtv;
> FLUSH PRIVILEGES;
> QUIT;
If you're not using mc.sql (and there are benefits to not doing
so--specifically, to prevent breaking authorization set up by your
distro, as Fred realized), you're better off doing:
DROP DATABASE IF EXISTS mythconverg;
CREATE DATABASE IF NOT EXISTS mythconverg;
ALTER DATABASE mythconverg DEFAULT CHARACTER SET utf8 COLLATE
utf8_general_ci;
This approach will work fine as long as you've previously set up a
mythtv user--which should be the case for anyone who's replacing the
existing mythconverg database.
I may add in a separate .sql file that does the DB creation without
messing with authorization just so we can reference it directly for
these cases.
Mike
More information about the mythtv-users
mailing list