This section provides information on supported operating platforms and software, required software, and other prerequisites for running the MySQL Cluster Auto-Installer.
Supported platforms. The MySQL Cluster Auto-Installer is available with most MySQL Cluster NDB 7.3 and later distributions for recent versions of Linux, Windows, Solaris, and MacOS X. For more detailed information about platform support for MySQL Cluster and the MySQL Cluster Auto-Installer, see http://www.mysql.com/support/supportedplatforms/cluster.html.
Supported Web browsers. The Web-based installer is supported with recent versions of Firefox and Microsoft Internet Explorer. It should also work with recent versions of Opera, Safari, and Chrome, although we have not thoroughly tested for compability with these browsers.
Python 2.6 or newer. The Auto-Installer requires the Python interpreter and standard libraries. If these are not already installed on the system, you may be able to add them using the system's package manager. Otherwise, they can be downloaded from http://python.org/download/.
Paramiko 188.8.131.52 or newer. This is required to communicate with remote hosts using SSH. You can download it from http://www.lag.net/paramiko/. Paramiko may also be available from your system's package manager.
Pycrypto version 2.6 or newer. This cryptography module is required by Paramiko. If it is not available using your system's package manage, you can download it from https://www.dlitz.net/software/pycrypto/.
All of the software in the preceding list is included in the Windows version of the configuration tool, and does not need to be installed separately.
The Paramiko and Pycrypto libraries are required only if you intend to deploy MySQL Cluster nodes on remote hosts, and are not needed if all nodes are on the same host where the installer is run.
Required software—remote hosts. The only software required for remote hosts where you wish to deploy MySQL Cluster nodes is the SSH server, which is usually installed by default on Linux and Solaris systems. Several alternatives are available for Windows; for an overview of these, see http://en.wikipedia.org/wiki/Comparison_of_SSH_servers.
An additional requirement when using multiple hosts is that it is possible to authenticate to any of the remote hosts using SSH and the proper keys or user credentials, as discussed in the next few paragraphs:
SSH. A secure shell connection is used to enable the back end to perform actions on remote hosts. For this reason, an SSH server must be running on the remote host. In addition, the system user running the installer must have access to the remote server, either with a user name and password, or by using public and private keys.
You should never use the system
account for remote access, as this is extremely insecure.
In addition, mysqld cannot normally be
started by system
root. For these and
other reasons, you should provide SSH credentials for a
regular user account on the target system, and not for
root. For more information about
this issue, see Section 6.1.5, “How to Run MySQL as a Normal User”.
Remote communication between the Web browser front end and
the back end is not encrypted by default, which means that
information such as the user's SSH password is
transmitted in clear text that is readable to anyone. For
communication from a remote client to be encrypted, the
back end must have a certificate, and the front end must
communicate with the back end using HTTPS rather than
HTTP. Enabling HTTPS is accomplished most easily through
issuing a self-signed certificate. Once the certificate is
issued, you must make sure that it is used. You can do
this by starting ndb_setup.py from the
command line with the
The back end ndb_setup.py process can
execute commands on the local host as well as remote
hosts. This means that anyone connecting to the back end
can take charge of how commands are executed. To reject
unwanted connections to the back end, a certificate may be
required for authentication of the client. In this case, a
certificate must be issued by the user, installed in the
browser, and made available to the back end for
authentication purposes. You can enact this requirement
(together with or in place of password or key
authentication) by starting
ndb_setup.py with the
See also Section 18.5.11, “MySQL Cluster Security Issues”, which discusses security considerations to take into account when deploying MySQL Cluster, as well as Chapter 6, Security, for more general MySQL security information.