diff --git a/lib/mysql/connector/network.py b/lib/mysql/connector/network.py index b5b44f00..0bdc9f5d 100644 --- a/lib/mysql/connector/network.py +++ b/lib/mysql/connector/network.py @@ -220,10 +220,12 @@ def recv_plain(self): """Receive packets from the MySQL server""" try: # Read the header of the MySQL packet, 4 bytes - packet = bytearray(4) - read = self.sock.recv_into(packet, 4) - if read != 4: - raise errors.InterfaceError(errno=2013) + packet = bytearray() + while len(packet) < 4: + chunk = self.sock.recv(1) + if not chunk: + raise errors.InterfaceError(errno=2013) + packet += chunk # Save the packet number and payload length self._packet_number = packet[3]