**Describe the bug**
If you would change database with ```USE database``` command via mysql protocol and have auto completion enabled, you would get an error.

**How to reproduce**
Clickhouse 20.13.1.5517
mysql client 8.0
```
mysql --host 127.0.0.1 --port 9004 --user default

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 20.13.1.5517-ClickHouse 0

Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> SHOW TABLES;
23 rows in set (0.01 sec)
Read 23 rows, 776.00 B in 0.0084032 sec., 2737 rows/sec., 90.18 KiB/sec.

mysql> SHOW DATABASES;
+-----------+
| name      |
+-----------+
| default   |
| model     |
| system    |
| test      |
+-----------+
6 rows in set (0.00 sec)
Read 6 rows, 879.00 B in 0.002237 sec., 2682 rows/sec., 383.73 KiB/sec.

mysql> USE system
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> SELECT 1;
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id:    5
Current database: system

ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id:    6
Current database: system

ERROR 2006 (HY000): MySQL server has gone away
```

If we would disable auto completion with -A cli arg.

```
mysql --host 127.0.0.1 --port 9004 --user default -A
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 11
Server version: 20.13.1.5517-ClickHouse 0

Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> USE system
Database changed, 1 warning
mysql> SELECT 1;
+------+
| 1    |
+------+
|    1 |
+------+
1 row in set (0.01 sec)
Read 1 rows, 1.00 B in 0.0013077 sec., 764 rows/sec., 764.70 B/sec.

mysql> SHOW TABLES;
75 rows in set (0.00 sec)
Read 75 rows, 2.61 KiB in 0.0053943 sec., 13903 rows/sec., 483.91 KiB/sec.

```
**Expected behavior**
It's possible to change databases with ```USE database``` command in mysql client works with autocomplete enabled.

**Error message and/or stacktrace**
```
2021.01.11 14:43:38.721310 [ 4371 ] {} <Debug> MySQLHandler: Received command: 4. Connection id: 21.
2021.01.11 14:43:38.721427 [ 4371 ] {} <Debug> MySQLHandler: Received command: 4. Connection id: 21.
2021.01.11 14:43:38.721590 [ 4371 ] {} <Error> MySQLHandler: DB::Exception: Cannot read all data. Bytes read: 0. Bytes expected: 3.

2021.01.11 14:43:36.306221 [ 4372 ] {} <Error> MySQLHandler: DB::Exception: Cannot read all data. Bytes read: 0. Bytes expected: 3.
2021.01.11 14:43:38.712040 [ 4372 ] {} <Error> MySQLHandler: DB::Exception: Cannot read all data. Bytes read: 0. Bytes expected: 3.
2021.01.11 14:43:38.721590 [ 4371 ] {} <Error> MySQLHandler: DB::Exception: Cannot read all data. Bytes read: 0. Bytes expected: 3.

```

**Additional context**
If you would pass database name in mysql args, you need to disable auto completion too.

```

 mysql --host 127.0.0.1 --port 9004 --user default --database default
 
 mysql> SELECT 1;
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id:    35
Current database: default

ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id:    36
Current database: default

ERROR 2006 (HY000): MySQL server has gone away

mysql --host 127.0.0.1 --port 9004 --user default --database default -A

mysql> SELECT 1;
+------+
| 1    |
+------+
|    1 |
+------+
1 row in set (0.00 sec)
Read 1 rows, 1.00 B in 0.0012839 sec., 778 rows/sec., 778.88 B/sec.
```
{
            log->log(exc);
            packet_endpoint->sendPacket(ERRPacket(exc.code(), "00000", exc.message()), true);
        }
        OKPacket ok_packet(0, handshake_response.capability_flags, 0, 0, 0);
        packet_endpoint->sendPacket(ok_packet, true);
        while (true)
        {
            packet_endpoint->resetSequenceId();
            MySQLPacketPayloadReadBuffer payload = packet_endpoint->getPayload();
            char command = 0;
            payload.readStrict(command);
            
            LimitReadBuffer limited_payload(payload, 10000, true, "too long MySQL packet.");
            LOG_DEBUG(log, "Received command: {}. Connection id: {}.",
                static_cast<int>(static_cast<unsigned char>(command)), connection_id);
            try
            {
                switch (command)
                {
                    case COM_QUIT:
                        return;
                    case COM_INIT_DB:
                        comInitDB(limited_payload);
                        break;
                    case COM_QUERY:
                        comQuery(payload);
                        break;
                    case COM_FIELD_LIST:
                        comFieldList(limited_payload);