Bug #99194 installer uses port 33061 for InnoDB Cluster configuration but not open in firew
Submitted: 6 Apr 2020 23:04 Modified: 12 Oct 2020 15:23
Reporter: damon pillinger Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Documentation Severity:S2 (Serious)
Version:180.019.0 OS:Windows (1901)
Assigned to: CPU Architecture:x86 (AMD and Intel)
Tags: cluster innoDB firewall windows 33061

[6 Apr 2020 23:04] damon pillinger
Description:
When creating a windows InnoDB cluster it will fail when trying to add the 2nd (or more) instance.
The reason for the failure is the installer uses port 33061 which is not opened in the firewall by the installer.
The installer does open ports 3306 and 33060

as a follow up I am finding the cluster wont allow the Instances to join once the fix below is applied.
each Instance/VM reports it is a "standalone instance". More testing will be done once a new installer is released.

How to repeat:
Instance 1 on VM 1.
Server only
Install C++ 2019 execute
Next / Execute
Next / Next
(All normal so far, now for the cluster)

Select INNODB CLuster
Select Create a new INNODB Cluster
Next
Type in a password x2
Select the HOST address as the IP = 192.168.0.167
(everything else is as default)
Next
default / next
default / next
type in root password x2
Next
default / Next
Execute

takes about a 6 minutes / finish / next / Finish
All done

Instance 2 on VM 2.
Server only
Install C++ 2019 execute
Next / Execute
Next / Next
(All normal so far and same as above, now for the cluster)

Select INNODB CLuster
Select Add Local ....
Next

Seed Instance = 192.168.0.167
port : 3306
Cluster admin username : ic
password x1
host address = 192.168.0.172
server ID: 2
Test Connection = Green Tick
Next
default / next
default / Next
Root password x 2
Next
default / Next
Execute
within a few minutes it gets to the last step and then just sits there.

in the log this is the last entry, everything prior to this all is OK as well.

Instance configuration is compatible with InnoDB cluster
The instance '192.168.0.172:3306' is valid for InnoDB cluster usage.
SUCCESS: The instance configuration has been prepared for InnoDB cluster usage.
Ended configuration step: Preparing MySQL Server for InnoDB cluster usage

Beginning configuration step: Adding local MySQL Server to production InnoDB cluster (check the Log tab for details)

Flushing binary log and resetting master...
Binary log flushed and master reset successfully.
Adding local MySQL Server to production InnoDB cluster...
Using the following parameters:
Cluster Admin Username: ic
Host Name of Cluster Instance: 192.168.0.167
Port of Cluster Instance: 3306
Host Name of Local Instance: 192.168.0.172
Port of Local Instance: 3306
Add Local Instance to MySQL InnoDB Cluster
=========================================
Adding the instance '192.168.0.172:3306'
to the InnoDB cluster running on '192.168.0.167:3306'
A new instance will be added to the InnoDB cluster. Depending on the amount of
data on the cluster this might take from a few seconds to several hours.
Adding instance to the cluster ...
Validating instance at 192.168.0.172:3306...
This instance reports its own address as 192.168.0.172
Instance configuration is suitable.

after 5 minutes you get a message "... adding local MySQL server to production InnoDB cluster is taking longer than expected. It is advised not to cancel the configuration and wait."
The log has not changed from the above.

after about 15 minutes more you get a lot of errors all about port 33061

ERROR: Group Replication plugin failed to start. Server error log contains the following errors:
2020-04-06T02:43:51.127112Z 0 [ERROR] [MY-011735] [Repl] Plugin group_replication reported: '[GCS] Error on opening a connection to 192.168.0.167:33061 on local port: 33061.'
2020-04-06T02:44:01.139401Z 0 [ERROR] [MY-011735] [Repl] Plugin group_replication reported: '[GCS] Error on opening a connection to 192.168.0.167:33061 on local port: 33061.'
2020-04-06T02:44:11.154479Z 0 [ERROR] [MY-011735] [Repl] Plugin group_replication reported: '[GCS] Error on opening a connection to 192.168.0.167:33061 on local port: 33061.'
2020-04-06T02:44:21.155966Z 0 [ERROR] [MY-011735] [Repl] Plugin group_replication reported: '[GCS] Error on opening a connection to 192.168.0.167:33061 on local port: 33061.'
2020-04-06T02:44:31.171804Z 0 [ERROR] [MY-011735] [Repl] Plugin group_replication reported: '[GCS] Error on opening a connection to 192.168.0.167:33061 on local port: 33061.'
2020-04-06T02:44:40.766392Z 18 [ERROR] [MY-011640] [Repl] Plugin group_replication reported: 'Timeout on wait for view after joining group'
2020-04-06T02:44:40.768694Z 18 [ERROR] [MY-011735] [Repl] Plugin group_replication reported: '[GCS] The member is already leaving or joining a group.'
2020-04-06T02:44:41.172243Z 0 [ERROR] [MY-011735] [Repl] Plugin group_replication reported: '[GCS] Error on opening a connection to 192.168.0.167:33061 on local port: 33061.'
2020-04-06T02:44:51.172381Z 0 [ERROR] [MY-011735] [Repl] Plugin group_replication reported: '[GCS] Error on opening a connection to 192.168.0.167:33061 on local port: 33061.'
2020-04-06T02:45:01.172474Z 0 [ERROR] [MY-011735] [Repl] Plugin group_replication reported: '[GCS] Error on opening a connection to 192.168.0.167:33061 on local port: 33061.'
2020-04-06T02:45:11.188140Z 0 [ERROR] [MY-011735] [Repl] Plugin group_replication reported: '[GCS] Error on opening a connection to 192.168.0.167:33061 on local port: 33061.'
2020-04-06T02:45:21.188803Z 0 [ERROR] [MY-011735] [Repl] Plugin group_replication reported: '[GCS] Error on opening a connection to 192.168.0.167:33061 on local port: 33061.'
2020-04-06T02:45:21.192224Z 0 [ERROR] [MY-011735] [Repl] Plugin group_replication reported: '[GCS] Error connecting to all peers. Member join failed. Local port: 33061'
2020-04-06T02:45:22.026618Z 0 [ERROR] [MY-011735] [Repl] Plugin group_replication reported: '[GCS] The member was unable to join the group. Local port: 33061'
2020-04-06T02:45:37.357903Z 0 [ERROR] [MY-011735] [Repl] Plugin group_replication reported: '[GCS] Error on opening a connection to 192.168.0.167:33061 on local port: 33061.'
2020-04-06T02:45:47.373434Z 0 [ERROR] [MY-011735] [Repl] Plugin group_replication reported: '[GCS] Error on opening a connection to 192.168.0.167:33061 on local port: 33061.'

I noticed in the firewall port 33060 is open but not 33061, so I opened it as well on both instances.
I then tried to add Instance 2 again, which failed with many errors, which might be for someone else to work out.

deleted both VM's and started again but this time manually opening port 33061 before starting the installation of MySQL.

BOOM !!!!
It works.

thanks
Damon

Suggested fix:
manually open port 33061 prior to running the MySQL Community Installer or MySQL WEB Community Installer.

Not sure if the installer should be using port 33060 or 33061 but I am sure you will.
[7 Apr 2020 13:42] MySQL Verification Team
Hi,

I am changing the category of the bug to "Documentation" as I agree that this should be properly documented and looking at our documentation I did not find it.

As for the installer itself, I do not believe MySQL installer, MySQL Server or any other MySQL tool should touch your system firewall. That is something a sysadmin needs to configure manually.

Thanks for the report

good health
Bogdan
[11 Jun 2020 8:52] damon pillinger
HI Bogdan,
good health to you.

I totally disagree.
Why is there a checkbox to select update firewall if it does not do the complete job?

Further more release .20 now opens port 33060 in the firewall (thanks to all concerned) however in order to get it to work at all you need to open 33061 as well.

I am unsure if this is an error in the windows installer or an undocumented port requirement but the windows installer will fail every time you try to set up an cluster.

thanks

Damon
[11 Jun 2020 10:49] MySQL Verification Team
Bug# 99847 marked as a duplicate of this one.
[12 Oct 2020 15:23] David Moss
Thank you for your feedback, this has been fixed in the docs.

If you ever need to consult which ports are required by our software, please bookmark:
https://dev.mysql.com/doc/mysql-port-reference/en/mysql-ports-reference-tables.html