Skip to main content

Menu

Webinar

Built for the Agentic Era: Introducing MariaDB Enterprise Platform 2027

Register now

Whitepaper

MySQL to MariaDB Migration Compatibility

01Introduction

02Feature Parity

Fill in the form to read the rest

03Service Life

EOL DateProductVendor
2018-12MySQL Database 5.5Oracle Corporation
2021-02MySQL Database 5.6Oracle Corporation
2022-05MariaDB Enterprise Server 10.2MariaDB Corporation
2023-05MariaDB Enterprise Server 10.3MariaDB Corporation
2023-10MySQL Database 5.7Oracle Corporation
2024-07MariaDB Enterprise Server 10.4MariaDB Corporation
2025-07MariaDB Enterprise Server 10.5MariaDB Corporation
2026-05MySQL Database 8.0Oracle Corporation

04Testing Approach

05Behavioral Observations

ConnectorLanguage/Interface
MariaDB Connector/CC language
MariaDB Connector/C++C++ language
MariaDB Connector/JJava language (7, 8, 11), JDBC 4.1/4.2
MariaDB Connector/Node.jsNode.js 6 and later
MariaDB Connector/ODBCODBC 3.5
MariaDB Connector/PythonPython 3.6 and later
MariaDB Connector/R2DBCJava 8+ and R2DBC 0.8.2
Product/VersionSQL_MODE Default
MySQL 5.6

  • NO_ENGINE_SUBSTITUTION

MySQL 5.7

  • ONLY_FULL_GROUP_BY

  • STRICT_TRANS_TABLES

  • NO_ZERO_IN_DATE

  • NO_ZERO_DATE

  • ERROR_FOR_DIVISION_BY_ZERO

  • NO_AUTO_CREATE_USER

  • NO_ENGINE_SUBSTITUTION

MySQL 8.0

  • ONLY_FULL_GROUP_BY

  • STRICT_TRANS_TABLES

  • NO_ZERO_IN_DATE

  • NO_ZERO_DATE

  • ERROR_FOR_DIVISION_BY_ZERO

  • NO_ENGINE_SUBSTITUTION

MariaDB ES 10.2

  • STRICT_TRANS_TABLES

  • ERROR_FOR_DIVISION_BY_ZERO

  • NO_AUTO_CREATE_USER

  • NO_ENGINE_SUBSTITUTION


MariaDB ES 10.3

  • STRICT_TRANS_TABLES

  • ERROR_FOR_DIVISION_BY_ZERO

  • NO_AUTO_CREATE_USER

  • NO_ENGINE_SUBSTITUTION


MariaDB ES 10.4

  • STRICT_TRANS_TABLES

  • ERROR_FOR_DIVISION_BY_ZERO

  • NO_AUTO_CREATE_USER

  • NO_ENGINE_SUBSTITUTION


MariaDB ES 10.5

  • STRICT_TRANS_TABLES

  • ERROR_FOR_DIVISION_BY_ZERO

  • NO_AUTO_CREATE_USER

  • NO_ENGINE_SUBSTITUTION


Product/VersionDefault Character SetDefault Collation
MySQL 5.6latin1latin1_swedish_ci
MySQL 5.7latin1latin1_swedish_ci
MySQL 8.0utf8mb4utf8mb4_0900_ai_ci
MariaDB ES 10.2latin1latin1_swedish_ci
MariaDB ES 10.3latin1latin1_swedish_ci
MariaDB ES 10.4latin1latin1_swedish_ci
MariaDB ES 10.5latin1latin1_swedish_ci
MySQL 5.6MySQL 5.7MySQL 8.0MariaDB ES 10.2MariaDB ES 10.3MariaDB ES 10.4MariaDB ES 10.5
BIGINTYesYesYesYesYesYesYes
BITYesYesYesYesYesYesYes
BOOLYesYesYesYesYesYesYes
BOOLEANYesYesYesYesYesYesYes
DECYesYesYesYesYesYesYes
DECIMALYesYesYesYesYesYesYes
DOUBLEYesYesYesYesYesYesYes
DOUBLE PRECISIONYesYesYesYesYesYesYes
FIXEDYesYesYesYesYesYesYes
FLOATYesYesYesYesYesYesYes
FLOAT4YesYesYesYesYesYesYes
FLOAT8YesYesYesYesYesYesYes
INTYesYesYesYesYesYesYes
INT1YesYesYesYesYesYesYes
INT2YesYesYesYesYesYesYes
INT3YesYesYesYesYesYesYes
INT4YesYesYesYesYesYesYes
INT8YesYesYesYesYesYesYes
INTEGERYesYesYesYesYesYesYes
LONGYesYesYesYesYesYesYes
MEDIUM INTYesYesYesYesYesYesYes
MIDDLE INTYesYesYesYesYesYesYes
NUMERICYesYesYesYesYesYesYes
REALYesYesYesYesYesYesYes
SERIALYesYesYesYesYesYesYes
SMALLINTYesYesYesYesYesYesYes
TINYINTYesYesYesYesYesYesYes
MySQL 5.6MySQL 5.7MySQL 8.0MariaDB ES 10.2MariaDB ES 10.3MariaDB ES 10.4MariaDB ES 10.5
BINARYYesYesYesYesYesYesYes
CHARYesYesYesYesYesYesYes
CHARACTERYesYesYesYesYesYesYes
CHARACTER VARYINGYesYesYesYesYesYesYes
CHAR BYTEYesYesYesYesYesYesYes
CHAR VARYINGYesYesYesYesYesYesYes
DOUBLEYesYesYesYesYesYesYes
JSONYesYesYesYesYesYesYes
LONGTEXTYesYesYesYesYesYesYes
LONG CHARACTER VARYINGYesYesYesYesYesYesYes
LONG CHAR VARYINGYesYesYesYesYesYesYes
LONG VARBINARYYesYesYesYesYesYesYes
LONG VARCHARYesYesYesYesYesYesYes
LONG VARCHARACTERYesYesYesYesYesYesYes
MEDIUM TEXTYesYesYesYesYesYesYes
NATIONAL CHARYesYesYesYesYesYesYes
NATIONAL CHARACTERYesYesYesYesYesYesYes
NATIONAL CHARACTER VARYINGYesYesYesYesYesYesYes
NATIONAL CHAR VARYINGYesYesYesYesYesYesYes
NATIONAL VARCHARYesYesYesYesYesYesYes
NATIONAL VARCHARACTERYesYesYesYesYesYesYes
NCHAR VARYINGYesYesYesYesYesYesYes
NVARCHARYesYesYesYesYesYesYes
TEXTYesYesYesYesYesYesYes
TINYTEXTYesYesYesYesYesYesYes
VARBINARYYesYesYesYesYesYesYes
VARCHARYesYesYesYesYesYesYes
VARCHARACTERYesYesYesYesYesYesYes
MySQL 5.6MySQL 5.7MySQL 8.0MariaDB ES 10.2MariaDB ES 10.3MariaDB ES 10.4MariaDB ES 10.5
BLOBYesYesYesYesYesYesYes
LONGBLOBYesYesYesYesYesYesYes
MEDIUM BLOBYesYesYesYesYesYesYes
TINYBLOBYesYesYesYesYesYesYes
MySQL 5.6MySQL 5.7MySQL 8.0MariaDB ES 10.2MariaDB ES 10.3MariaDB ES 10.4MariaDB ES 10.5
DATEYesYesYesYesYesYesYes
DATETIMEYesYesYesYesYesYesYes
TIMEYesYesYesYesYesYesYes
TIMESTAMPYesYesYesYesYesYesYes
YEARYesYesYesYesYesYesYes
MySQL 5.6MySQL 5.7MySQL 8.0MariaDB ES 10.2MariaDB ES 10.3MariaDB ES 10.4MariaDB ES 10.5
GEOMETRYYesYesYesYesYesYesYes
GEOMETRYCOLLECTIONYesYesYesYesYesYesYes
LINESTRINGYesYesYesYesYesYesYes
MULTILINESTRINGYesYesYesYesYesYesYes
MULTIPOINTYesYesYesYesYesYesYes
MULTIPOLYGONYesYesYesYesYesYesYes
POINTYesYesYesYesYesYesYes
POLYGONYesYesYesYesYesYesYes
MySQL 5.6MySQL 5.7MySQL 8.0MariaDB ES 10.2MariaDB ES 10.3MariaDB ES 10.4MariaDB ES 10.5
SETYesYesYesYesYesYesYes
ENUMYesYesYesYesYesYesYes
MySQL 5.6MySQL 5.7MySQL 8.0MariaDB ES 10.2MariaDB ES 10.3MariaDB ES 10.4MariaDB ES 10.5
ALLYesYesYesYesYesYesYes
ANDYesYesYesYesYesYesYes
ANYYesYesYesYesYesYesYes
BETWEENYesYesYesYesYesYesYes
BINARYYesYesYesYesYesYesYes
DIVYesYesYesYesYesYesYes
EXISTSYesYesYesYesYesYesYes
INYesYesYesYesYesYesYes
ISYesYesYesYesYesYesYes
IS NOTYesYesYesYesYesYesYes
LIKEYesYesYesYesYesYesYes
MODYesYesYesYesYesYesYes
NOTYesYesYesYesYesYesYes
NOT BETWEENYesYesYesYesYesYesYes
NOT INYesYesYesYesYesYesYes
NOT LIKEYesYesYesYesYesYesYes
NOT REGEXPYesYesYesYesYesYesYes
ORYesYesYesYesYesYesYes
REGEXPYesYesYesYesYesYesYes
RLIKEYesYesYesYesYesYesYes
SOMEYesYesYesYesYesYesYes
SOUNDS LIKEYesYesYesYesYesYesYes
XORYesYesYesYesYesYesYes
MySQL 5.6MySQL 5.7MySQL 8.0MariaDB ES 10.2MariaDB ES 10.3MariaDB ES 10.4MariaDB ES 10.5
&YesYesYesYesYesYesYes
&&YesYesYesYesYesYesYes
!YesYesYesYesYesYesYes
!=YesYesYesYesYesYesYes
|YesYesYesYesYesYesYes
||YesYesYesYesYesYesYes
:=YesYesYesYesYesYesYes
-YesYesYesYesYesYesYes
=YesYesYesYesYesYesYes
>YesYesYesYesYesYesYes
>=YesYesYesYesYesYesYes
>>YesYesYesYesYesYesYes
<=YesYesYesYesYesYesYes
<=>YesYesYesYesYesYesYes
<>YesYesYesYesYesYesYes
<<YesYesYesYesYesYesYes
%YesYesYesYesYesYesYes
+YesYesYesYesYesYesYes
/YesYesYesYesYesYesYes
*YesYesYesYesYesYesYes
~YesYesYesYesYesYesYes
^YesYesYesYesYesYesYes

06Conclusion