diff --git a/server/core/dcb.c b/server/core/dcb.c index d14b60534..e5d4c26c0 100644 --- a/server/core/dcb.c +++ b/server/core/dcb.c @@ -3067,6 +3067,15 @@ int dcb_listen(DCB *listener, const char *config, const char *protocol_name) else if (port > 0) { listener_socket = dcb_listen_create_socket_inet(host, port); + + if (listener_socket == -1 && strcmp(host, "::") == 0) + { + /** Attempt to bind to the IPv4 if the default IPv6 one is used */ + MXS_WARNING("Failed to bind on default IPv6 host '::', attempting " + "to bind on IPv4 version '0.0.0.0'"); + strcpy(host, "0.0.0.0"); + listener_socket = dcb_listen_create_socket_inet(host, port); + } } else {