MySQL 的 Connector/J 是否适用于 MariaDB?

Does MySQL's Connector/J work with MariaDB?

我正在尝试使用 here 中的 Connector/J 连接到我的 MariaDB 数据库,但这失败了,MariaDB 记录了`

"[Warning] Aborted connection 12 to db: 'enwikt_parsed' user: 'javawiki' host: 'localhost' (Got an error reading communication packets)".

`

我突然想到,我只是假设 MySQL 中的 Connector/J 只适用于 MariaDB,但现在我不太确定。我知道 MariaDB 有自己的 Java API/Connector,但我正在使用别人的代码来 parse 维基词典,因此无法使用它。

在我尝试一些更复杂的解决方案之前,我想知道我是否正在尝试修复一些原本不打算以这种方式使用的东西。

是的,MySQL 的 Connector/J 与 MariaDB 兼容。不过你需要检查版本。

For all practical purposes, MariaDB is a binary drop in replacement of the same MySQL version (for example MySQL 5.1 -> MariaDB 5.1, MariaDB 5.2 & MariaDB 5.3 are compatible. MySQL 5.5 is compatible with MariaDB 5.5 and also in practice with MariaDB 10.0, MySQL 5.6 is compatible with MariaDB 10.0 and MySQL 5.7 is compatible with MariaDB 10.2)

参考:https://mariadb.com/kb/en/library/mariadb-vs-mysql-compatibility/

All MySQL connectors (PHP, Perl, Python, Java, .NET, MyODBC, Ruby, MySQL C connector etc) works unchanged with MariaDB.