506c929a0a
Change-Id: Ifb7c33d6052efe5ea8a1e0e10b3178073cd29ca0 Reviewed-on: https://gerrit.libreoffice.org/24536 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
79 lines
3.4 KiB
Text
79 lines
3.4 KiB
Text
The MySQL driver for LibreOffice.
|
|
|
|
It ships as an extension (.oxt file).
|
|
|
|
== Requirements ==
|
|
|
|
The MySQL driver for LibreOffice (MySQL Connector/LibreOffice - C/LibO)
|
|
requires two external libraries to be built:
|
|
|
|
1) The MySQL Client Library (libmysql) or MariaDB Client library
|
|
2) The MySQL Connector/C++ Library (libmysqlcppconn)
|
|
|
|
The MariaDB client library is provided as an external and will be
|
|
automatically built if you pass "--without-system-mariadb" to
|
|
autogens.sh.
|
|
|
|
libmysqlcppconn is provided as an external and will be automatically
|
|
compiled if you pass "--without-system-mysql-cppconn" to autogen.sh.
|
|
|
|
The MySQL driver for LibreOffice does not reimplement the MySQL
|
|
Client/Server communication protocol. The protocol implementation is
|
|
part of the MySQL Client Library. The SDBC(X) driver is implemented as
|
|
a wrapper of the MySQL Connector/C++ Library which implements a
|
|
JDBC-like interface (which suits SDBC(X) well) and which in turn uses
|
|
the C based MySQL Client Library.
|
|
|
|
== Variants ==
|
|
|
|
If configured with --with-system-mariadb --disable-bundle-mariadb, the
|
|
driver will *not* ship a copy of the MySQL client C library and will
|
|
expect it to be installed in a standard location on each system that
|
|
it runs on. That is usually the right choice to create a native
|
|
package/port for GNU/Linux, BSD, etc, where the packaging system
|
|
handles dependencies and will ensure the availability of the MySQL
|
|
client C library in the standard location.
|
|
|
|
If configured with --with-system-mariadb --enable-bundle-mariadb, the
|
|
driver will ship a copy of the MariaDB (or MySQL) client C library so
|
|
that it works "out of the box" on any system. That (or
|
|
--without-system-mariadb) is usually the right choice to create a
|
|
stand-alone .oxt file that users can just install through the
|
|
LibreOffice extensions manager, as is typical for Microsoft Windows
|
|
and Apple MacOS X native (as opposed to MacPorts / fink / pkgsrc /
|
|
...).
|
|
|
|
--disable-bundle-mariadb is the default.
|
|
|
|
== Installing the Requirements ==
|
|
|
|
On modern/free-as-in-free-speech Unices, libmysql and libmysqlcppconn
|
|
are probably available as a package/port. Install them using your
|
|
distribution's tools. Make sure to install the development packages
|
|
(whose name usually ends with -dev or -devel), and not only the
|
|
libraries themselves.
|
|
|
|
Else you can install the MariaDB Client Library from official MariaDB
|
|
packages at https://downloads.mariadb.org/client-native/ .
|
|
They have source and binary distributions for several platforms.
|
|
At least series 2.0 is recommended, as series 1.0 are known to be too
|
|
buggy. Additionally, version 2.0.0 is known to be incompatible with
|
|
MySQL Connector/C++ version 1.1.4, which --without-system-mysqlcppconn
|
|
uses, and which --with-system-mysqlcppconn could use
|
|
(see https://mariadb.atlassian.net/browse/CONC-104).
|
|
Use a version where the above incompatibility has been solved.
|
|
|
|
Alternatively, MySQL Client Library from official MySQL
|
|
packages are at http://dev.mysql.com/downloads/connector/c/ .
|
|
|
|
You can also install the MySQL Client Library (libmysql) as part of
|
|
the MariaDB or MySQL Server, version 5.0 or later. Check the MariaDB
|
|
or MySQL manual for instructions:
|
|
https://mariadb.com/kb/en/mariadb/documentation/getting-started/getting-installing-and-upgrading-mariadb/
|
|
http://dev.mysql.com/doc/refman/5.5/en/installing.html
|
|
The typical installation path of the libmysql.so on Unix is
|
|
/usr/local/mysql/lib/mysql/ .
|
|
|
|
|
|
Official packages for libmysqlcppconn can be downloaded from
|
|
http://dev.mysql.com/downloads/connector/cpp/
|