Você está na página 1de 5

Banco de Dados Distribuídos

Instalação MySQL Cluster Linux

Cluster MGM

Cluster Nó1
Cluster Nó2

Cluster 1
Criar a pasta para instalação do MySQL Cluster Management

mkdir /usr/src/mysql-mgm
cd /usr/src/mysql-mgm

Copiar o instalador do MySQL Cluster para a máquina virtual

tar -zxvf mysql-cluster-gpl-7.3.18-linux-glibc2.12-x86_64.tar.gz


cd mysql-cluster-gpl-7.3.18-linux-glibc2.12-x86_64
cp bin/ndb_mgm /usr/bin
cp bin/ndb_mgmd /usr/bin

Mudando as permissões

chmod 755 /usr/bin/ndb_mg*


cd /usr/src
rm -rf /usr/src/mysql-mgm

Configuração do Gerenciador do Cluster

mkdir /var/lib/mysql-cluster
editor /var/lib/mysql-cluster/config.ini

# MySQL Cluster Configurarion


[NDBD DEFAULT]
NoOfReplicas=2
DataMemory=80M
IndexMemory=18M
[MYSQLD DEFAULT]
[NDB_MGMD DEFAULT]
DataDir=/var/lib/mysql-cluster
[TCP DEFAULT]
# Section for the cluster management node
[NDB_MGMD]
NodeId=1
# IP address of the first management node (this system)
HostName=192.168.1.1

# Section for the storage nodes


[NDBD]
# IP address of the first storage node
HostName=192.168.1.2
DataDir= /var/lib/mysql-cluster
[NDBD]
# IP address of the second storage node
HostName=192.168.1.3
DataDir=/var/lib/mysql-cluster
# one [MYSQLD] per storage node
[MYSQLD]
[MYSQLD]

Executando o gerenciado do MySQL Cluster

ndb_mgmd -f /var/lib/mysql-cluster/config.ini --configdir=/var/lib/mysql-cluster/

Configurando o Linux para iniciar o gerenciador automaticamente

echo "ndb_mgmd -f /var/lib/mysql-cluster/config.ini --configdir=/var/lib/mysql-cluster/"


> /etc/init.d/ndb_mgmd
chmod 755 /etc/init.d/ndb_mgmd
update-rc.d ndb_mgmd defaults

Finalizada a configuração do Nó #1! Inicie agora as configurações do Nó#2 e Nó#3.

Nós de Armazenamento
Criando o grupo e usuário para o mysql

groupadd mysql
useradd -g mysql mysql

Intalação do MySQL Cluster no /usr/local

cd /usr/local
tar -zxvf mysql-cluster-gpl-7.3.18-linux-glibc2.12-x86_64.tar.gz

Criando um link simbólico chamada mysql

ln -s mysql-cluster-gpl-7.3.18-linux-glibc2.12-x86_64 mysql
cd mysql

Instalando as bibliotecas necessárias, tem que ter internet


apt-get update
apt-get install libaio1 libaio-dev
scripts/mysql_install_db -user=mysql -datadir=/usr/local/mysql/data

Alterando os donos da pasta de instalação do MySQL Cluster


chown -R root:mysql .
chown -R mysql data

Configurando a inicialização dos serviços automaticamente

cp support-files/mysql.server /etc/init.d/
chmod 755 /etc/init.d/mysql.server
update-rc.d mysql.server defaults

Copiando os binários para execução no linux

cd /usr/local/mysql/bin
mv * /usr/bin
rm -rf /usr/local/mysql/bin
ln -s /usr/bin /usr/local/mysql/bin

Criando o arquivo de configuração do MySQL Cluster para o nó em /etc/my.cnf

[mysqld]
ndbcluster
# IP address of the cluster management node
ndb-connectstring=192.168.1.1
# Maybe necessary
#innodb_buffer_pool_size=8M
#innodb_use_sys_malloc=1
[mysql_cluster]
# IP address of the cluster management node
ndb-connectstring=192.168.1.1

Criar a pasta de dados do nó, conforme descrito no arquivo de configuração do gerenciador

mkdir /var/lib/mysql-cluster
cd /var/lib/mysql-cluster

Utilizar o arquivo de configuração do gerenciador de cluster /var/lib/mysql-cluster/config.ini

# MySQL Cluster Configurarion


[NDBD DEFAULT]
NoOfReplicas=2
DataMemory=80M
IndexMemory=18M
[MYSQLD DEFAULT]
[NDB_MGMD DEFAULT]
DataDir=/var/lib/mysql-cluster
[TCP DEFAULT]
# Section for the cluster management node
[NDB_MGMD]
NodeId=1
# IP address of the first management node (this system)
HostName=192.168.1.1

# Section for the storage nodes


[NDBD]
# IP address of the first storage node
HostName=192.168.1.2
DataDir= /var/lib/mysql-cluster
[NDBD]
# IP address of the second storage node
HostName=192.168.1.3
DataDir=/var/lib/mysql-cluster
# one [MYSQLD] per storage node
[MYSQLD]
[MYSQLD]

Executar o gerenciador dos nós, pela primeira vez ou sempre que o config.ini mudar. Caso o ndbd –initial
de erro relacionado ao serviço Angel, habilitar no /etc/my.cnf os comandos innodb_buffer_pool_size=8M e
innodb_use_sys_malloc=1.

ndbd --initial
/etc/init.d/mysql.server start

Caso passe deste passo, execute o script de instalação de segurança do MySQL

/usr/local/mysql/bin/mysql_secure_installation

Depois vamos configurar o SO para que o ndb inicie automaticamente

echo "ndbd" > /etc/init.d/ndbd


chmod 755 /etc/init.d/ndbd
update-rc.d ndbd defaults

Faça o mesmo para os próximos nós.

Teste de funcionamento
No nó central verifique o funcionamento da rede com os seguintes comandos:

ndb_mgm
ndb_mgm> show
No Nó1 crie um banco de dados e inseria alguns valores, eles deverão aparecer automaticamente no Nó2,
não se esqueça de passar em qual a ENGINE será criada a tabela (replicação parcial):

mysql -u root -p
mysql> CREATE DATABASE xyz;
mysql> USE xyz;
mysql> CREATE TABLE abc (várias colunas) ENGINE=NDBCLUSTER;
mysql> INSERT INTO abc (colunas) VALUES (valores);
mysql> SELECT * FROM abc;

Conecte-se ao segundo nó e verifique se está tudo lá.

Próxima aula, vamos testar as fragmentações.

Prof Diogo Branquinho

Você também pode gostar