**Describe the bug**
when I set  log_bin_use_v1_row_events =1 in MySQL side and start replicate data to ClickHouse，I will get the following execption：

0. DB::ReadBuffer::throwReadAfterEOF() @ 0x7d3f9ed in /usr/bin/clickhouse
1. ? @ 0xdb3d0a3 in /usr/bin/clickhouse
2. DB::MySQLReplication::MySQLFlavor::readPayloadImpl(DB::ReadBuffer&) @ 0xdb41983 in /usr/bin/clickhouse
3. DB::MySQLProtocol::IMySQLReadPacket::readPayload(DB::ReadBuffer&, unsigned char&) @ 0xdb29bb2 in /usr/bin/clickhouse
4. DB::MySQLProtocol::PacketEndpoint::tryReceivePacket(DB::MySQLProtocol::IMySQLReadPacket&, unsigned long) @ 0xdb2a6a3 in /usr/bin/clickhouse
5. DB::MaterializeMySQLSyncThread::synchronization(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) @ 0xdb544b6 in /usr/bin/clickhouse
6. ? @ 0xdb72e2a in /usr/bin/clickhouse
7. ThreadPoolImpl<std::__1::thread>::worker(std::__1::__list_iterator<std::__1::thread, void*>) @ 0x7d25aad in /usr/bin/clickhouse
8. ? @ 0x7d295d3 in /usr/bin/clickhouse
9. start_thread @ 0x7e65 in /usr/lib64/libpthread-2.17.so
10. __clone @ 0xfe88d in /usr/lib64/libc-2.17.so
 (version 20.12.4.5 (official build))
2021.01.12 17:52:48.630695 [ 13966 ] {abb6f32b-079a-493a-8bf3-30c970a46a22} <Error> executeQuery: Code: 32, e.displayText() = DB::Exception: Attempt to read after eof (version 20.12.4.5 (official build)) (from [::ffff:172.21.128.5]:37384) (in query: select count(*) from yuan;), Stack trace (when copying this message, always include the lines below):

0. DB::ReadBuffer::throwReadAfterEOF() @ 0x7d3f9ed in /usr/bin/clickhouse
1. ? @ 0xdb3d0a3 in /usr/bin/clickhouse
2. DB::MySQLReplication::MySQLFlavor::readPayloadImpl(DB::ReadBuffer&) @ 0xdb41983 in /usr/bin/clickhouse
3. DB::MySQLProtocol::IMySQLReadPacket::readPayload(DB::ReadBuffer&, unsigned char&) @ 0xdb29bb2 in /usr/bin/clickhouse
4. DB::MySQLProtocol::PacketEndpoint::tryReceivePacket(DB::MySQLProtocol::IMySQLReadPacket&, unsigned long) @ 0xdb2a6a3 in /usr/bin/clickhouse
5. DB::MaterializeMySQLSyncThread::synchronization(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) @ 0xdb544b6 in /usr/bin/clickhouse
6. ? @ 0xdb72e2a in /usr/bin/clickhouse
7. ThreadPoolImpl<std::__1::thread>::worker(std::__1::__list_iterator<std::__1::thread, void*>) @ 0x7d25aad in /usr/bin/clickhouse
8. ? @ 0x7d295d3 in /usr/bin/clickhouse
9. start_thread @ 0x7e65 in /usr/lib64/libpthread-2.17.so
10. __clone @ 0xfe88d in /usr/lib64/libc-2.17.so

2021.01.12 17:52:48.630860 [ 13966 ] {abb6f32b-079a-493a-8bf3-30c970a46a22} <Error> TCPHandler: Code: 32, e.displayText() = DB::Exception: Attempt to read after eof, Stack trace:

0. DB::ReadBuffer::throwReadAfterEOF() @ 0x7d3f9ed in /usr/bin/clickhouse
1. ? @ 0xdb3d0a3 in /usr/bin/clickhouse
2. DB::MySQLReplication::MySQLFlavor::readPayloadImpl(DB::ReadBuffer&) @ 0xdb41983 in /usr/bin/clickhouse
3. DB::MySQLProtocol::IMySQLReadPacket::readPayload(DB::ReadBuffer&, unsigned char&) @ 0xdb29bb2 in /usr/bin/clickhouse
4. DB::MySQLProtocol::PacketEndpoint::tryReceivePacket(DB::MySQLProtocol::IMySQLReadPacket&, unsigned long) @ 0xdb2a6a3 in /usr/bin/clickhouse
5. DB::MaterializeMySQLSyncThread::synchronization(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) @ 0xdb544b6 in /usr/bin/clickhouse
6. ? @ 0xdb72e2a in /usr/bin/clickhouse
7. ThreadPoolImpl<std::__1::thread>::worker(std::__1::__list_iterator<std::__1::thread, void*>) @ 0x7d25aad in /usr/bin/clickhouse
8. ? @ 0x7d295d3 in /usr/bin/clickhouse
9. start_thread @ 0x7e65 in /usr/lib64/libpthread-2.17.so
10. __clone @ 0xfe88d in /usr/lib64/libc-2.17.so



**How to reproduce**
just setting log_bin_use_v1_row_events  in my.cnf

* Which ClickHouse server version to use
20.12.4.5

**Additional context**
MySQL 5.7.31 and  MySQL8.0.21 both can reprod the bug.

std::string s0;
        WriteBufferFromString out0(s0);
        Handshake server_handshake(
            server_capability_flags, -1, "ClickHouse", "mysql_native_password", "aaaaaaaaaaaaaaaaaaaaa", CharacterSet::utf8_general_ci);
        server_handshake.writePayload(out0, server_sequence_id);
        
        ReadBufferFromString in0(s0);
        Handshake client_handshake;
        client_handshake.readPayload(in0, client_sequence_id);
        
        ASSERT(server_handshake.capability_flags == client_handshake.capability_flags)
        ASSERT(server_handshake.status_flags == client_handshake.status_flags)
        ASSERT(server_handshake.server_version == client_handshake.server_version)
        ASSERT(server_handshake.protocol_version == client_handshake.protocol_version)
        ASSERT(server_handshake.auth_plugin_data.substr(0, 20) == client_handshake.auth_plugin_data)
        ASSERT(server_handshake.auth_plugin_name == client_handshake.auth_plugin_name)
        
        std::string s1;
        WriteBufferFromString out1(s1);
        
        Native41 native41(password, client_handshake.auth_plugin_data);
        String auth_plugin_data = native41.getAuthPluginData();
        HandshakeResponse client_handshake_response(
            client_capability_flags, max_packet_size, charset_utf8, user, database, auth_plugin_data, mysql_native_password);
        client_handshake_response.writePayload(out1, client_sequence_id);
        
        ReadBufferFromString in1(s1);
        HandshakeResponse server_handshake_response;