Hi Oliver,
1. An observation.
As far as I can see, docker image found at
https://hub.docker.com/r/whiterabbitsecurity/openxpki3/tags
installs libdbd-mysql-perl (and does not install libdbd-mariadb-perl)
module for use with MariaDB.
Which adds to my concerns from the previous message, see below.
2. Now a serious problem.
Starting with version DBD-mysql-5.004 published on March 19, 2024:
https://metacpan.org/dist/DBD-mysql/changes
this module refuses to install with MariaDB:
DBD::mysql requires MySQL 8.x for building. Version reported by
mysql_config --version: 10.6.16 at ./Makefile.PL line 451, <PIPE> line 3.
*** Error code 255
(version 10.6.16, mentioned here is exactly the version of MariDB-server)
and thus explicitly requires MySQL
3. Also there are reports that module DBD-mariabd crashes stable
versions of perl if used with UTF-8 staff.
As you mentioned your plans to switch to PostgreSQL, do you think that
all the above problems should be solved by abandoning of MariaDB altogether?
If yes, do you have plans to change demo scripts and configs included
with openxpki (community edition) such that MariaDB be expelled?
Regards, Sergei
=======================================
Hi Oliver,
Thank you so much for general clarification.
Still have two questions as server openxpki refuses to start with setup
recommended by Quickstart from RTD, in particular with:
- libdbd-mariadb-perl installed and
- "MariaDB2" keyword present in configuration
See error log below my original message.
Question 1.
Is it a good idea to remove libdbd-mariadb-perl and install
libdbd-mysql-perl (which leads to successful start of the openxpki server)?
Question 2.
After the switch of DBD drivers from Question 1, is it a good idea to
keep "MariaDB2" keyword present in configuration?
Regards, Sergei
On 14 Mar 24 Thu 12:49, Oliver Welter wrote:
Hi Sergei,
the driver name refers to the OpenXPKI Module name.
The initial driver was "MySQL" using the libdbd-mysql in the
background with a feature set of "ancient" mysql 5.x
The driver named "MariaDB" is almost the same and also uses
libdbd-mysql but uses native SQL sequences as introduced in MariaDB
server 10.
This worked fine with the older distros shipping mysql libraries from
the 5.x branch but we went into some issues with newer distros
shipping mysql 7/8. So finally migrated the OpenXPKI driver module to
use libdbd-mariadb in the background and named it MariaDB2.
We also made the observation that MariaDB development slowed down and
the recent news on the MariaDB company is also not really promissing,
but mysql is not really a better choice :( As we made good experience
in some projects with Postgres, we already discussed internally to
move to it as the primary rdbms but as Mysql/MariaDB is still the more
common system we will keep supporting this as long as it works.
best regards
Oliver
On 13.03.24 20:01, Sergei Vyshenski wrote:
Hi,
Trying to launch democa out of the latest stable community release
OpenXPKI-3.28.2 at
Linux Debian 12.5 with
MariaDB 10.11.6
Followed steps advised by
https://openxpki.readthedocs.io/en/latest/quickstart.html
(configuration for /etc/openxpki/ fetched from
openxpki/openxpki-config project)
and in particular:
$ apt install mariadb-server libdbd-mariadb-perl
...
$ openxpkictl start
It says:
Starting OpenXPKI Community Edition v3.28.2
OpenXPKI server is not running or does not accept requests.
Status check failed
(See error log attached below.)
Now I remove libdbd-mariadb-perl and install libdbd-mysql-perl
instead, as server openxpki wanted.
This helps:
$ openxpkictl start
OpenXPKI Server is running and accepting requests.
DONE.
Is it reasonable to switch dbd-mariadb for dbd-mysql?
The quoted Quickstart insists (with red letters) that dbd-mariadb is
a preferable choice for MariaDB2 and OpenXPKI.
What is MariaDB2 (mentioned by Quickstart) by the way? Google only
finds this name inside the OpenXPKI pages.
Debian 12.5 has MariaDB 10.11.6. Is it MariaDB1 or MariaDB2?
Also name "MariaDB2" is present multiple times in the configuration
of openxpki/openxpki-config.
Is it safe to leave it there?
NB.
When project DBD-MariaDB was founded they claimed (see here:
https://github.com/perl5-dbi/DBD-MariaDB) that it will be better than
the project DBD-mysql, because
"This Perl DBI driver is a fork of the DBD::mysql
<https://metacpan.org/pod/DBD::mysql> driver and was created because
said issues in the original DBD::mysql have not been addressed for
more than a year."
But today the project DBD-mysql evolves more rapidly than the project
DBD-MariaDB:
https://metacpan.org/dist/DBD-mysql/changes
Regards, Sergei
======================
$> cat /var/log/openxpki.log (with the driver DBD-MariaDB installed)
2024/03/12 14:18:27 ERROR Database not connected; __error__ =>
install_driver(mysql) failed: Can't locate DBD/mysql.pm in @INC (you
may need to install the DBD::mysql module) (@INC contains: /etc/perl
/usr/local/lib/x86_64-linux-gnu/perl/5.36.0
/usr/local/share/perl/5.36.0 /usr/lib/x86_64-linux-gnu/perl5/5.36
/usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl-base
/usr/lib/x86_64-linux-gnu/perl/5.36 /usr/share/perl/5.36
/usr/local/lib/site_perl) at (eval 974) line 3.
Perhaps the DBD::mysql perl module hasn't been fully installed,
or perhaps the capitalisation of 'mysql' isn't right.
Available drivers: DBM, ExampleP, File, Gofer, MariaDB, Mem, Proxy,
Sponge.
at /usr/share/perl5/DBIx/Handler.pm line 41.
[pid=4925|]
2024/03/12 14:18:27 FATAL Error during initialization task 'dbi':
Database not connected [pid=4925|]
2024/03/12 14:18:27 FATAL Exception during server initialization:
Database not connected; __error__ => install_driver(mysql) failed:
Can't locate DBD/mysql.pm in @INC (you may need to install the
DBD::mysql module) (@INC contains: /etc/perl
/usr/local/lib/x86_64-linux-gnu/perl/5.36.0
/usr/local/share/perl/5.36.0 /usr/lib/x86_64-linux-gnu/perl5/5.36
/usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl-base
/usr/lib/x86_64-linux-gnu/perl/5.36 /usr/share/perl/5.36
/usr/local/lib/site_perl) at (eval 974) line 3.
Perhaps the DBD::mysql perl module hasn't been fully installed,
or perhaps the capitalisation of 'mysql' isn't right.
Available drivers: DBM, ExampleP, File, Gofer, MariaDB, Mem, Proxy,
Sponge.
at /usr/share/perl5/DBIx/Handler.pm line 41.
(Database not connected; __error__ => install_driver(mysql) failed:
Can't locate DBD/mysql.pm in @INC (you may need to install the
DBD::mysql module) (@INC contains: /etc/perl
/usr/local/lib/x86_64-linux-gnu/perl/5.36.0
/usr/local/share/perl/5.36.0 /usr/lib/x86_64-linux-gnu/perl5/5.36
/usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl-base
/usr/lib/x86_64-linux-gnu/perl/5.36 /usr/share/perl/5.36
/usr/local/lib/site_perl) at (eval 974) line 3.
Perhaps the DBD::mysql perl module hasn't been fully installed,
or perhaps the capitalisation of 'mysql' isn't right.
Available drivers: DBM, ExampleP, File, Gofer, MariaDB, Mem, Proxy,
Sponge.
at /usr/share/perl5/DBIx/Handler.pm line 41.
) [pid=4925|]
======================
_______________________________________________
OpenXPKI-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openxpki-users
_______________________________________________
OpenXPKI-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openxpki-users