4.2.1 Installing an NDB Cluster Binary Release on Linux

This section covers the steps necessary to install the correct
executables for each type of Cluster node from precompiled
binaries supplied by Oracle.

For setting up a cluster using precompiled binaries, the first
step in the installation process for each cluster host is to
download the binary archive from the
NDB Cluster downloads
page. (For the most recent 64-bit NDB 7.5 release, this
is
mysql-cluster-gpl-7.5.12-linux-glibc2.12-x86_64.tar.gz.)
We assume that you have placed this file in each machine's
/var/tmp directory.

SQL nodes.
On each of the machines designated to host SQL nodes, perform
the following steps as the system root
user:

Check your /etc/passwd and
/etc/group files (or use whatever tools
are provided by your operating system for managing users and
groups) to see whether there is already a
mysql group and mysql
user on the system. Some OS distributions create these as
part of the operating system installation process. If they
are not already present, create a new
mysql user group, and then add a
mysql user to this group:

shell> groupadd mysql
shell> useradd -g mysql -s /bin/false mysql

The syntax for useradd and
groupadd may differ slightly on different
versions of Unix, or they may have different names such as
adduser and addgroup.

Change location to the directory containing the downloaded
file, unpack the archive, and create a symbolic link named
mysql to the mysql
directory.

Note

The actual file and directory names vary according to the
NDB Cluster version number.

(The startup scripts directory may vary depending on your
operating system and version—for example, in some
Linux distributions, it is
/etc/init.d.)

Here we use Red Hat's chkconfig for
creating links to the startup scripts; use whatever means is
appropriate for this purpose on your platform, such as
update-rc.d on Debian.

Remember that the preceding steps must be repeated on each
machine where an SQL node is to reside.

Data nodes.
Installation of the data nodes does not require the
mysqld binary. Only the NDB Cluster data
node executable ndbd (single-threaded) or
ndbmtd (multithreaded) is required. These
binaries can also be found in the .tar.gz
archive. Again, we assume that you have placed this archive in
/var/tmp.

As system root (that is, after using
sudo, su root, or your
system's equivalent for temporarily assuming the system
administrator account's privileges), perform the following steps
to install the data node binaries on the data node hosts:

Change location to the /var/tmp
directory, and extract the ndbd and
ndbmtd binaries from the archive into a
suitable directory such as
/usr/local/bin:

(You can safely delete the directory created by unpacking
the downloaded archive, and the files it contains, from
/var/tmp once
ndb_mgm and ndb_mgmd
have been copied to the executables directory.)

Change location to the directory into which you copied the
files, and then make both of them executable:

shell> cd /usr/local/bin
shell> chmod +x ndb*

The preceding steps should be repeated on each data node host.

Although only one of the data node executables is required to
run an NDB Cluster data node, we have shown you how to install
both ndbd and ndbmtd in
the preceding instructions. We recommend that you do this when
installing or upgrading NDB Cluster, even if you plan to use
only one of them, since this will save time and trouble in the
event that you later decide to change from one to the other.

Management nodes.
Installation of the management node does not require the
mysqld binary. Only the NDB Cluster
management server (ndb_mgmd) is required;
you most likely want to install the management client
(ndb_mgm) as well. Both of these binaries
also be found in the .tar.gz archive.
Again, we assume that you have placed this archive in
/var/tmp.

As system root, perform the following steps
to install ndb_mgmd and
ndb_mgm on the management node host:

Change location to the /var/tmp
directory, and extract the ndb_mgm and
ndb_mgmd from the archive into a suitable
directory such as /usr/local/bin: