[mythtv-users] db restore

Stephen Worthington stephen_agent at jsw.gen.nz
Sun Aug 5 17:44:50 UTC 2018


On Sun, 5 Aug 2018 11:30:14 -0400, you wrote:

>On Sun, Aug 5, 2018 at 11:06 AM, Stephen Worthington <
>stephen_agent at jsw.gen.nz> wrote:
>
>> On Sun, 5 Aug 2018 10:48:01 -0400, you wrote:
>>
>>
>> >I'm still getting nowhere:
>> > daryl at trieli:~$ ./mythconverg_restore.pl --create_database --directory ~
>> >--filename mythconverg-1344-20180804112717.sql.gz --verbose
>> >
>> >Configuring environment:
>> >  -    username: daryl
>> >  -        HOME: /home/daryl
>> >  - MYTHCONFDIR: /home/daryl/.mythtv
>> >
>> >Parsing configuration files:
>> >  - checking: /home/daryl/.mythtv/config.xml
>> >  - checking: /usr/local/share/mythtv/mysql.txt
>> >  - checking: /usr/share/mythtv/mysql.txt
>> >  - checking: /usr/local/etc/mythtv/mysql.txt
>> >  - checking: /etc/mythtv/mysql.txt
>> >  - checking: /home/daryl/.mythtv/mysql.txt
>> >  - checking: mysql.txt
>> >  - checking: /home/daryl/.mythtv/mysql.txt
>> >  - checking: /home/daryl/.mythtv/backuprc
>> >
>> >Applying command-line arguments.
>> >
>> >Checking configuration.
>> >
>> >WARNING: DBName not specified. Using mythconverg
>> >
>> >WARNING: DBHostName not specified.
>> >         Assuming it is specified in the MySQL options file.
>> >
>> >WARNING: DBUserName not specified.
>> >         Assuming it is specified in the MySQL options file.
>> >
>> >WARNING: DBPassword not specified.
>> >         Assuming it is specified in the MySQL options file.
>> >
>> >Database Information:
>> >         DBHostName:
>> >             DBPort: -1
>> >         DBUserName:
>> >         DBPassword:
>> >             DBName: mythconverg
>> >        DBSchemaVer:
>> >  DBBackupDirectory: /home/daryl
>> >   DBBackupFilename: mythconverg-1344-20180804112717.sql.gz
>> >      drop_database: no
>> >    create_database: yes
>> >
>> >Executables:
>> >       mysql_client: mysql
>> >         uncompress: gzip -d
>> >
>> >Miscellaneous:
>> >    partial_restore: no
>> >   restore_xmltvids: no
>> >    change_hostname: no
>> >
>> >Checking database.
>> >DBI connect('host=:database=mythconverg','',...) failed: Access denied
>> for
>> >user 'daryl'@'localhost' (using password: NO) at ./mythconverg_restore.pl
>> >line 933.
>> >
>> >Preparing initial database.
>> >DBI connect('host=','',...) failed: Access denied for user 'daryl'@
>> 'localhost'
>> >(using password: NO) at ./mythconverg_restore.pl line 933.
>> >
>> >Unable to connect to database.
>> >           database: mythconverg
>> >               host:
>> >           username:
>> >           password:
>> >
>> >Please check your configuration files to verify the database connection
>> >information is correct.  The files that are used to retrieve connection
>> >information are prefixed with "parsing" in the "Parsing configuration
>> files"
>> >section of the --verbose output.
>> >
>> >Also note that any [client] or [mysql] password specified in the MySQL
>> >options
>> >file (/etc/my.cnf or /etc/mysql/my.cnf or ~/.my.cnf) will take precedence
>> >over
>> >the password specified in the MythTV configuration files.
>> >
>> >ERROR: Unable to connect to database.
>>
>> It looks like you have restored the /etc/mythtv/config.xml file, which
>> contains the password to access the mythconverg database.  But the
>> MariaDB or MySQL database system you are restoring to is clean - it
>> does not have the user/password that was in your old database to allow
>> access to the mythconverg database.  The user/password data is not
>> stored in the mythconverg database - it is stored in a separate system
>> maintained database, and can not be restored by
>> mythconverg_restore.pl.
>>
>> So what you need to do is to do the SQL commands needed to add the
>> user/password from /etc/mythtv/config.xml into the MySQL
>> authentication system.  See this page for how:
>>
>> https://www.mythtv.org/wiki/Category:MySQL
>>
>> Search for "Access denied for user".
>>
>
>I don't think this went as it should have:
>
>Enter password:
>Reading table information for completion of table and column names
>You can turn off this feature to get a quicker startup with -A
>
>Welcome to the MySQL monitor.  Commands end with ; or \g.
>Your MySQL connection id is 42
>Server version: 5.7.23-0ubuntu0.16.04.1 (Ubuntu)
>
>Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
>
>Oracle is a registered trademark of Oracle Corporation and/or its
>affiliates. Other names may be trademarks of their respective
>owners.
>
>Type 'help;' or '\h' for help. Type '\c' to clear the current input
>statement.
>
>mysql> GRANT ALL PRIVILEGES ON *.* TO 'mythtv'@'localhost' IDENTIFIED BY
>'mythtv' WITH GRANT OPTION;
>Query OK, 0 rows affected, 1 warning (0.02 sec)
>
>mysql> UPDATE user SET Password=h2TGgzwD('mythtv') WHERE user='mythtv';
>ERROR 1054 (42S22): Unknown column 'Password' in 'field list'
>mysql> FLUSH PRIVELIGES

You have misinterpreted the syntax of the GRANT command.  PASSWORD()
is a function that encrypts a plain-text password for storage into the
database.  So the command should be:

UPDATE user SET Password=PASSWORD('h2TGgzwD') where user='mythtv';

But as you have posted the actual password publicly here, it would be
a good idea to run the apg command (install with "apt install apg" if
necessary) and generate a new password to use, and put that in
/etc/mythtv/config.xml and in the above command.


More information about the mythtv-users mailing list