Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-35642

Support replication from MySQL 8.0 to MariaDB

Details

    • Bug
    • Status: In Progress (View Workflow)
    • Major
    • Resolution: Unresolved
    • 10.6, 11.4
    • 11.4
    • Replication
    • None

    Description

      The goal is to ensure that one can use MariaDB as a slave of a MySQL 8.0 server.

      There are a few issues when replication from MySQL 8.0 -> MariaDB:

      • As MariaDB server does not support the MySQL default authentication
        caching_sha2_password, one has to add another replication user using the mysql_native_password protocol.
      • One has to change JSON columns to be of type TEXT (as the MySQL JSON format
        is different from MariaDB).
      • One has to change the character set / collation from utf8mb4_0900_... to one supported by
        MariaDB, like utf8mb4 or utf8mb4_uca1400_ai_ci (starting from MariaDB 10.10).
        This is to be fixed in 11.4

      MySQL 8.0 has added the following new events in the MySQL binary log that needs to be taken care of:

      PARTIAL_UPDATE_ROWS_EVENT
      TRANSACTION_PAYLOAD_EVENT
      HEARTBEAT_LOG_EVENT_V2

      Attachments

        Issue Links

          Activity

            monty Michael Widenius created issue -
            monty Michael Widenius made changes -
            Field Original Value New Value
            monty Michael Widenius made changes -
            Description The goal is to ensure that one can use MariaDB as a slave of a MySQL 8.0 server.

            There are a few issues when replication from MySQL 8.0 -> MariaDB:
            - As MariaDB server does not support the MySQL default authentication
            caching_sha2_password, one has to add another replication user using the mysql_native_password protocol.
            - One has to change JSON columns to be of type TEXT (as the MySQL JSON format
            is different from MariaDB).
            - One has to change the character set / collation from utf8mb4_0900_... to one supported by
              MariaDB, like utf8mb4 or utf8mb4_uca1400_ai_ci (starting from MariaDB 10.10).
             
            MySQL 8.0 has added the following new events in the MySQL binary log that needs to be taken care of:

            PARTIAL_UPDATE_ROWS_EVENT
            TRANSACTION_PAYLOAD_EVENT
            HEARTBEAT_LOG_EVENT_V2

            The goal is to ensure that one can use MariaDB as a slave of a MySQL 8.0 server.

            There are a few issues when replication from MySQL 8.0 -> MariaDB:
            - As MariaDB server does not support the MySQL default authentication
            caching_sha2_password, one has to add another replication user using the mysql_native_password protocol.
            - One has to change JSON columns to be of type TEXT (as the MySQL JSON format
            is different from MariaDB).
            - One has to change the character set / collation from utf8mb4_0900_... to one supported by
              MariaDB, like utf8mb4 or utf8mb4_uca1400_ai_ci (starting from MariaDB 10.10).
              This is to be fixed in 11.4
             
            MySQL 8.0 has added the following new events in the MySQL binary log that needs to be taken care of:

            PARTIAL_UPDATE_ROWS_EVENT
            TRANSACTION_PAYLOAD_EVENT
            HEARTBEAT_LOG_EVENT_V2

            monty Michael Widenius made changes -
            Fix Version/s 10.6.21 [ 29953 ]
            ParadoxV5 Jimmy Hú made changes -
            monty Michael Widenius made changes -
            monty Michael Widenius made changes -
            Fix Version/s 11.4 [ 29301 ]
            monty Michael Widenius made changes -
            Status Open [ 1 ] In Progress [ 3 ]
            monty Michael Widenius made changes -
            Comment [ I have now implemented the following 0900 collations (through 1400 aliases):
             
            {noformat}
            MariaDB [test]> select * from information_schema.COLLATIONS where collation_name like "%0900%";
            +----------------------------+--------------------+------+------------+-------------+---------+
            | COLLATION_NAME | CHARACTER_SET_NAME | ID | IS_DEFAULT | IS_COMPILED | SORTLEN |
            +----------------------------+--------------------+------+------------+-------------+---------+
            | utf8mb4_0900_ai_ci | utf8mb4 | 255 | | Yes | 8 |
            | utf8mb4_de_pb_0900_ai_ci | utf8mb4 | 256 | | Yes | 8 |
            | utf8mb4_is_0900_ai_ci | utf8mb4 | 257 | | Yes | 8 |
            | utf8mb4_lv_0900_ai_ci | utf8mb4 | 258 | | Yes | 8 |
            | utf8mb4_ro_0900_ai_ci | utf8mb4 | 259 | | Yes | 8 |
            | utf8mb4_sl_0900_ai_ci | utf8mb4 | 260 | | Yes | 8 |
            | utf8mb4_pl_0900_ai_ci | utf8mb4 | 261 | | Yes | 8 |
            | utf8mb4_et_0900_ai_ci | utf8mb4 | 262 | | Yes | 8 |
            | utf8mb4_es_0900_ai_ci | utf8mb4 | 263 | | Yes | 8 |
            | utf8mb4_sv_0900_ai_ci | utf8mb4 | 264 | | Yes | 8 |
            | utf8mb4_tr_0900_ai_ci | utf8mb4 | 265 | | Yes | 8 |
            | utf8mb4_cs_0900_ai_ci | utf8mb4 | 266 | | Yes | 8 |
            | utf8mb4_da_0900_ai_ci | utf8mb4 | 267 | | Yes | 8 |
            | utf8mb4_lt_0900_ai_ci | utf8mb4 | 268 | | Yes | 8 |
            | utf8mb4_sk_0900_ai_ci | utf8mb4 | 269 | | Yes | 8 |
            | utf8mb4_es_trad_0900_ai_ci | utf8mb4 | 270 | | Yes | 8 |
            | utf8mb4_la_0900_ai_ci | utf8mb4 | 271 | | Yes | 8 |
            | utf8mb4_eo_0900_ai_ci | utf8mb4 | 273 | | Yes | 8 |
            | utf8mb4_hu_0900_ai_ci | utf8mb4 | 274 | | Yes | 8 |
            | utf8mb4_hr_0900_ai_ci | utf8mb4 | 275 | | Yes | 8 |
            | utf8mb4_vi_0900_ai_ci | utf8mb4 | 277 | | Yes | 8 |
            | utf8mb4_0900_as_cs | utf8mb4 | 278 | | Yes | 8 |
            | utf8mb4_de_pb_0900_as_cs | utf8mb4 | 279 | | Yes | 8 |
            | utf8mb4_is_0900_as_cs | utf8mb4 | 280 | | Yes | 8 |
            | utf8mb4_lv_0900_as_cs | utf8mb4 | 281 | | Yes | 8 |
            | utf8mb4_ro_0900_as_cs | utf8mb4 | 282 | | Yes | 8 |
            | utf8mb4_sl_0900_as_cs | utf8mb4 | 283 | | Yes | 8 |
            | utf8mb4_pl_0900_as_cs | utf8mb4 | 284 | | Yes | 8 |
            | utf8mb4_et_0900_as_cs | utf8mb4 | 285 | | Yes | 8 |
            | utf8mb4_es_0900_as_cs | utf8mb4 | 286 | | Yes | 8 |
            | utf8mb4_sv_0900_as_cs | utf8mb4 | 287 | | Yes | 8 |
            | utf8mb4_tr_0900_as_cs | utf8mb4 | 288 | | Yes | 8 |
            | utf8mb4_cs_0900_as_cs | utf8mb4 | 289 | | Yes | 8 |
            | utf8mb4_da_0900_as_cs | utf8mb4 | 290 | | Yes | 8 |
            | utf8mb4_lt_0900_as_cs | utf8mb4 | 291 | | Yes | 8 |
            | utf8mb4_sk_0900_as_cs | utf8mb4 | 292 | | Yes | 8 |
            | utf8mb4_es_trad_0900_as_cs | utf8mb4 | 293 | | Yes | 8 |
            | utf8mb4_la_0900_as_cs | utf8mb4 | 294 | | Yes | 8 |
            | utf8mb4_eo_0900_as_cs | utf8mb4 | 296 | | Yes | 8 |
            | utf8mb4_hu_0900_as_cs | utf8mb4 | 297 | | Yes | 8 |
            | utf8mb4_hr_0900_as_cs | utf8mb4 | 298 | | Yes | 8 |
            | utf8mb4_vi_0900_as_cs | utf8mb4 | 300 | | Yes | 8 |
            | utf8mb4_0900_as_ci | utf8mb4 | 305 | | Yes | 8 |
            +----------------------------+--------------------+------+------------+-------------+---------+

            {noformat}
            ]
            julien.fritsch Julien Fritsch made changes -
            Due Date 2024-12-13 2024-12-20
            julien.fritsch Julien Fritsch made changes -
            Due Date 2024-12-20 2025-01-03
            julien.fritsch Julien Fritsch made changes -
            Due Date 2025-01-03 2025-01-10
            susil.behera Susil Behera made changes -
            danblack Daniel Black made changes -
            julien.fritsch Julien Fritsch made changes -
            Due Date 2025-01-10

            People

              monty Michael Widenius
              monty Michael Widenius
              Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

                Created:
                Updated:

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.