[debian-mysql] [MBF] mysql meta-packages

Kristian Nielsen knielsen at knielsen-hq.org
Sun Nov 27 13:11:11 UTC 2016


Robie Basak <robie.basak at ubuntu.com> writes:

> On Sat, Nov 26, 2016 at 11:40:34PM +0100, Stefan Fritsch wrote:
>> Are the mariadb client libraries compatible with current mysql servers?
>
> I believe this is true at the moment, though as one might reasonably
> expect I believe this is "unsupported" by MySQL upstream. For us, that

Future compatibility between MariaDB client library and MySQL server, or
wise versa, is rather more likely than other kinds of compatibility. This is
because there is generally a strong desire to have the client-server
protocol be both forwards- and backwards-compatible.

Eg. I believe it is generally considered very important, by both upstreams,
that an old client can connect to a new server, _and_ that a new server can
connect to an old client. This helps a lot to ensure that eg. new mariadb
client libraries can connect to new MySQL server, since breaking this would
likely also break eg. old MySQL client libraries connecting to new MySQL
server.

> AFAIK, we have seen no evidence or commitment that either upstream are
> interested in any form of convergence in library API or ABI, wire
> protocol or database format in the future. So in making technical plans

I do not have much visibility into MySQL/Oracle's view on this.

In my experience, there is a high willingness among MariaDB developers to
ensure compatibility of MariaDB with MySQL. Oracle is still generally seen
as the major fork, and the commercial entities behind MariaDB are much
weaker than Oracle and thus very dependent on public goodwill. So I think
such willingness is likely to continue for the forseeable future. There are
a number of examples of work-arounds in the MariaDB code to interoperate
with newer versions of the MySQL servers, for example there is special code
to return a fake version number when expected by MySQL/Oracle code.

Of course, willingness does not always translate to action or priority. One
example is the problems caused by re-using the libmysqlclient.so name for
the MariaDB client libraries.

In terms of new features, generally there is much higher risk of
incompatibility. For example, if a program wants to use the MariaDB progress
report feature, the MySQL client libraries cannot be used, and similarly
using the new MySQL Protocol X feature will not work with MariaDB client
libraries. There are some new features of MySQL that get into MariaDB, but
generally I would expect new feature differences to grow as time progresses.

Hope this helps,

 - Kristian.



More information about the pkg-mysql-maint mailing list