[request-tracker-maintainers] RT4-Installation with MariaDB

Nagel, Peter (IFP) peter.nagel at kit.edu
Fri Mar 12 08:58:30 GMT 2021


Dear maintainers of request-tracker,

I observed the following problem (see below) but was not able to track
down where exactly (package?) the problem is located and therefore (not
writing a bug-report but) this email:

_*SQLite**:*_
I _successfully_ installed and tested reqest-tracker4 (RT4) with SQLite
including the Plugins PriorityAsString, RepeatTicket and MandatoryFields.

Within the 'System Configuration' of RT4 I see the following configuration:
DatabaseAdmin 	'postgres'
DatabaseExtraDSN 	{}
DatabaseHost 	'localhost'
DatabaseName 	'/var/lib/dbconfig-common/sqlite3/request-tracker4/rtdb'
DatabasePassword 	/Password not printed/
DatabasePort 	''
DatabaseRTHost 	'localhost'
DatabaseType 	'SQLite'
DatabaseUser 	''

In this setup only DatabaseAdmin (but no DatabaseUser) is defined.


_*MariaDB**:*_
For using MySQL (instead of SQLite) I first installed the packages
*mariadb-server* and *rt4-db-mysql*.
Than I continued the installation the same way as with SQLite.

Within the 'System Configuration' of RT4 I see the following configuration:
DatabaseAdmin 	'postgres'
DatabaseExtraDSN 	{}
DatabaseHost 	'localhost'
DatabaseName 	'rtdb'
DatabasePassword 	/Password not printed/
DatabasePort 	'3306'
DatabaseRTHost 	'localhost'
DatabaseType 	'mysql'
DatabaseUser 	'rtuser'

In this setup both DatabaseAdmin and DatabaseUser are defined. However,
within MariaDB only user 'rtuser'@'localhost' is defined (but _no_
DatabaseAdmin e.g. 'postgres'@'localhost').


My *problem* is:
When installing the Plugin RT-Extension-RepeatTicket I see the following
prompt

    In order to create or update your RT database, this script needs to
    connect to your mysql instance on localhost (port '3306') as
    postgres Please specify that user's database password below. If the
    user has no database password, just press return.

and  the following error message (because user 'postgres' is not existing):

    Password:
    Working with:
    Type: mysql
    Host: localhost
    Port: 3306
    Name: rtdb
    User: rtuser
    DBA: postgres
    Failed to connect to dbi:mysql:dbname=rtdb;host=localhost;port=3306
    as user 'postgres': Access denied for user 'postgres'@'localhost'
    (using password: YES)...returned with error: 65280 make: ***
    [Makefile:825: initdb] Error 2


A *work around* is to manually add user 'postgres' to mariaDB with:

    CREATE USER 'postgres'@'localhost' IDENTIFIED BY 'postgres-rt4';
    GRANT ALL PRIVILEGES ON rtdb.* TO 'postgres'@'localhost';

and than try the installation again.

However, this situation is unexpected.
In addition the existing user 'rtuser' has already   ALL PRIVILEGES ON
rtdb.*   - so there is no need to have two users (with identical
privileges) here.


My *question* is:
Why is it (for the MySQL-setup) necessary to have both DatabaseAdmin and
DatabaseUser and why is only one user define within MariaDB.

Best regards,
Peter


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-request-tracker-maintainers/attachments/20210312/4ac9ebd1/attachment.htm>


More information about the pkg-request-tracker-maintainers mailing list