GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

So installieren Sie einen MySQL-Cluster unter Ubuntu 16.04

MySQL Cluster ist eine Technologie zur Bereitstellung hoher Verfügbarkeit für MySQL-Datenbanken. Es verwendet NDB (Network DataBase) oder NDBCLUSTER als Datenbankspeicher-Engine. MySQL Cluster ist als Multi-Master-ACID-Architektur ohne Single Point of Failure konzipiert, es verwendet automatisches Sharding (Partitionierung), um Lese- und Schreibprozesse aufzuskalieren.

Um einen MySQL-Cluster zu implementieren, benötigen wir 3 verschiedene Arten von Knoten:

  • Verwaltungsknoten (ndb_mgmd )
    • Wird zum Überwachen und Konfigurieren des Clusters verwendet.
  • Datenknoten (ndbd )
    • Diese Knoten werden verwendet, um die Daten zu speichern, die sie für automatisches Sharding bereitstellen, und können die Replikation handhaben.
  • SQL-Knoten (mysqld )
    • MySQL Server-Schnittstellen zum Verbinden mit allen Knoten.

In diesem Tutorial zeige ich Ihnen, wie Sie einen „MySQL-Cluster“ auf Ubuntu 16.04 LTS (Xenial Xerus) installieren.

Voraussetzungen

  • 4 Knoten mit Ubuntu-Server 16.04
  1. 192.168.1.11    Verwaltungsknoten
  2. 192.168.1.12    Datenknoten1
  3. 192.168.1.13    Datenknoten2
  4. 192.168.1.14    SQL-Knoten
  • Root-Rechte auf den Knoten.

Schritt 1 – Installieren und konfigurieren Sie den Management-Knoten

In diesem Schritt installieren wir den Verwaltungsknoten für unseren Cluster mit der IP-Adresse 192.168.1.11. Wir installieren die MySQL-Cluster-Software und konfigurieren sie als Verwaltungsknoten für den Cluster.

Melden Sie sich mit ssh beim Verwaltungsknoten an:

ssh [email protected]
GEBEN SIE IHR PASSWORT EIN

A. Installieren Sie den MySQL Cluster Management Node

Öffnen Sie hier die MySQL-Cluster-Site und wählen Sie die Option 'Linux-generic ' und laden Sie das 64-Bit-Paket herunter, indem Sie auf 'Herunterladen klicken ' Schaltfläche.

Laden Sie das MySQL-Cluster-Paket mit wget herunter und extrahieren Sie es.

wget http://dev.mysql.com/get/Downloads/MySQL-Cluster-7.4/mysql-cluster-gpl-7.4.12-linux-glibc2.5-x86_64.tar.gz
tar -xzvf mysql-cluster-gpl-7.4.12-linux-glibc2.5-x86_64.tar.gz

Verzeichnis umbenennen in mysql:

mv mysql-cluster-gpl-7.4.12-linux-glibc2.5-x86_64/mysql/

Wechseln Sie in das mysql-Verzeichnis und kopieren Sie die 2 Binärdateien für den Clusterverwaltungsbefehl 'ndb_mgmd und ndb_mgm ' in das Verzeichnis '/usr/local/bin/' und machen Sie sie dann mit dem Befehl chmod ausführbar.

cd ~/mysql/
cp bin/ndb_mgm* /usr/local/bin/
chmod +x /usr/local/bin/ndb_mgm*

B. MySQL Cluster Management Node konfigurieren

Konfigurieren Sie den Verwaltungsknoten, indem Sie ein neues Verzeichnis „mysql-cluster“ für die Konfigurationsdateien im Verzeichnis „/var/lib/“ erstellen.

Erstellen Sie ein Verzeichnis ‚mysql-cluster‘ und erstellen Sie eine neue Konfiguration ‚config.ini‘ im Verzeichnis:

mkdir -p /var/lib/mysql-cluster/
vim /var/lib/mysql-cluster/config.ini

Fügen Sie die Konfiguration unten ein:

[ndbd default]
NoOfReplicas=2
DataMemory=80M
IndexMemory=18M

[mysqld default]

[ndb_mgmd default]

[tcp default]

# Cluster Control / Management node
[ndb_mgmd]
hostname=192.168.1.11

# Datenknoten 1
[ndbd]
hostname=192.168.1.12
DataDir=/var/lib/mysql-cluster

# Datenknoten 1
[ndbd]
HostName=192.168.1.13
DataDir=/var/lib/mysql-cluster

# SQL-Knoten
[mysqld]
hostname=192.168.1.14

# Wenn Sie einen neuen SQL-Knoten hinzufügen
[mysqld]

Ändern Sie die IP-Adresse von ndb_mgmd für die Verwaltung, ndbd für den Datenknoten und mysqld für den SQL-Knoten so, dass sie zu Ihrer Einrichtung passt.

Speichern Sie die Datei und beenden Sie sie.

Starten Sie als Nächstes den Verwaltungsknotenprozess mit dem folgenden Befehl:

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

Sorgen Sie dafür, dass es beim Booten gestartet wird, indem Sie den Befehl zu '/etc/rc.local hinzufügen ' Datei:

echo 'ndb_mgmd -f /var/lib/mysql-cluster/config.ini --configdir=/var/lib/mysql-cluster/'>> /etc/rc.local

Wenn Sie die Ergebnisse sehen:

MySQL Cluster Management Server mysql-5.6.31 ndb-7.4.12

Dann wird der Verwaltungsknotenprozess ausgeführt.

Überprüfen Sie den Verwaltungsknoten mit einem anderen Befehl:

# Überprüfung von Port 1186, der von ndb_mgmd verwendet wird
netstat -plntu

# Überprüfung, dass der Verwaltungsknoten bereit ist
ndb_mgm
show

Schritt 2 – Installieren und konfigurieren Sie den Datenknoten

In diesem Schritt installieren wir die MySQL-Cluster-Software und konfigurieren sie als Datenknoten. Wir werden 2 Ubuntu 16.04-Server als Datenknoten verwenden:Datenknoten1 mit der IP-Adresse 192.168.1.12 und Datenknoten2 mit der IP-Adresse 192.168.1.13.

Melden Sie sich mit ssh beim data-node1-Server an:

ssh [E-Mail-geschützt]

A. Installieren Sie MySQL Cluster auf dem Datenknoten

Bevor wir die MySQL-Cluster-Software installieren, müssen wir ein neues Paket 'libaio1 installieren ' und erstellen Sie einen neuen Benutzer und eine neue Gruppe mysql . Führen Sie dazu den folgenden Befehl als root aus:

apt-get install libaio1
groupadd mysql
useradd -g mysql mysql

Laden Sie nun das MySQL-Clusterpaket 'Linux-Generic herunter ', extrahieren Sie das Verzeichnis und benennen Sie es in mysql um.

wget http://dev.mysql.com/get/Downloads/MySQL-Cluster-7.4/mysql-cluster-gpl-7.4.12-linux-glibc2.5-x86_64.tar.gz
tar -xzvf mysql-cluster-gpl-7.4.12-linux-glibc2.5-x86_64.tar.gz
mv mysql-cluster-gpl-7.4.12-linux-glibc2.5-x86_64/mysql/

Verschieben Sie das Verzeichnis „mysql“ nach „/usr/local /' und gehe in dieses Verzeichnis.

mv mysql /usr/local/
cd /usr/local/mysql/

Führen Sie das Skript zum Erstellen der Systemdatenbanken aus:

./scripts/mysql_install_db --user=mysql

Wenn kein Fehler auftritt, kopieren Sie die mysql-Dienstdatei nach „/etc/init.d '-Verzeichnis und fügen Sie das mysql-Startskript hinzu, das beim Booten ausgeführt wird.

cp support-files/mysql.server /etc/init.d/mysql
systemctl enable mysql

Verschieben Sie als Nächstes alle mysql-Binärbefehle in den Ordner „/usr/local/bin ' Verzeichnis und erstelle einen neuen Symlink.

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

Ändern Sie den Besitzer des mysql-Verzeichnisses in Benutzer root und gruppieren Sie mysql und ändern Sie das Datenverzeichnis in mysql als Besitzer.

chown -R root:mysql .
chown -R mysql-Daten

B. MySQL-Cluster-Datenknoten konfigurieren

Erstellen Sie eine neue MySQL-Konfigurationsdatei 'my.cnf ' mit vim:

vim /etc/my.cnf

Konfiguration unten einfügen:

# MySQL-Konfiguration
[mysqld]
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
user=mysql

# NDB-Speichermodul ausführen
ndbcluster
# IP-Adressverwaltungsknoten
ndb-connectstring=192.168.1.11

[mysql_cluster]
# IP-Adressverwaltungsknoten
ndb-connectstring=192.168.1.11

# MySQL Pid und Log
[mysqld_safe]
log-error=/var/log/mysqld. log
pid-file=/var/run/mysqld/mysqld.pid

Speichern und beenden.

Erstellen Sie ein neues Verzeichnis für die Datenknoten und ändern Sie den Besitz auf den mysql-Benutzer.

mkdir -p /var/lib/mysql-cluster/
chown -R mysql /var/lib/mysql-cluster

C. Starten Sie MySQL auf dem Datenknoten

Starten Sie den mysql-Dienst mit dem folgenden Befehl:

ndbd --initial
systemctl mysql starten

Stellen Sie sicher, dass kein Fehler vorliegt und die Ergebnisse unten sind (data-node2):

MySQL auf dem Datenknoten wird gestartet. Jetzt können Sie das MySQL-Passwort mit dem Befehl konfigurieren:

mysql_secure_installation

oder greifen Sie auf die MySQL-Shell zu.

mysql -u root -p

HINWEIS :
Wiederholen Sie diesen Schritt auf 'data-node2 ' Server-IP-Adresse 192.168.1.13.

Schritt 3 – SQL-Knoten installieren und konfigurieren

In diesem Schritt installieren wir die MySQL Cluster-Software und konfigurieren sie als SQL-Knoten. Dieser Knoten wird für den Zugriff auf die Datenbanken auf den Datenknoten verwendet. Der Installationsprozess ist derselbe wie beim Datenknoten, aber wir müssen den ndbd-Dienst nicht im SQL-Knoten ausführen.

Melden Sie sich mit ssh:

beim SQL-Knoten an
ssh [E-Mail-geschützt]

A. Installieren Sie MySQL Cluster auf dem SQL-Knoten

Installieren Sie das Paket libaio1 und erstellen Sie einen neuen Benutzer und eine neue Gruppe mysql:

apt-get install libaio1
groupadd mysql
useradd -g mysql mysql

Laden Sie das MySQL-Cluster-Paket von der Website herunter, extrahieren Sie es und benennen Sie es um:

http://dev.mysql.com/get/Downloads/MySQL-Cluster-7.4/mysql-cluster-gpl-7.4.12-linux-glibc2.5-x86_64.tar.gz
tar - xzvf mysql-cluster-gpl-7.4.12-linux-glibc2.5-x86_64.tar.gz
mv mysql-cluster-gpl-7.4.12-linux-glibc2.5-x86_64/mysql/

Verschieben Sie das mysql-Verzeichnis:

mv mysql /usr/local/
cd /usr/local/mysql/

Führen Sie mysql_install_db aus Skript:

./scripts/mysql_install_db --user=mysql

Kopieren Sie die Dienstdatei und fügen Sie sie hinzu, damit sie beim Booten gestartet wird:

cp support-files/mysql.server /etc/init.d/mysql
systemctl enable mysql

Verschieben Sie alle MySQL-Binärdateien in das Verzeichnis „/usr/local/bin ' Verzeichnis:

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

Ändern Sie den Eigentümer aller Dateien und des Verzeichnisses:

chown -R root:mysql .
chown -R mysql-Daten

B. MySQL-Cluster-SQL-Knoten konfigurieren

Erstellen Sie eine neuemy.cnf Konfigurationsdatei mit vim:

vim /etc/my.cnf

Fügen Sie die Konfiguration unten ein:

# MySQL-Konfiguration
[mysqld]
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
user=mysql

# NDB-Speichermodul ausführen
ndbcluster
# IP-Adressverwaltungsknoten
ndb-connectstring=192.168.1.11

[mysql_cluster]
# IP-Adressverwaltungsknoten
ndb-connectstring=192.168.1.11

# MySQL Pid und Log
[mysqld_safe]
log-error=/var/log/mysqld. log
pid-file=/var/run/mysqld/mysqld.pid

Speichern und beenden.

C. Starten Sie den SQL-Knoten

Starten Sie den SQL-Knoten, indem Sie den mysql-Dienst mit dem Befehl systemctl starten:

systemctl mysql starten

Der SQL-Knoten wird gestartet, jetzt können Sie das Passwort für MySQL konfigurieren.

mysql_secure_installation

Schritt 4 – Testen

Testen Sie, um eine neue Datenbank aus dem SQL-Knoten zu erstellen.

mysql -u root -p
PASSWORT EINGEBEN


Datenbank nanana erstellen;

Überprüfen Sie, ob die Datenbank auf den Datenknotenservern repliziert wird.
Und wenn ein Knoten ausgeschaltet ist, übernimmt ein anderer Knoten die Verbindung vom SQL-Knoten.

mysql -u root -p
PASSWORT EINGEBEN


Datenbanken anzeigen;

Überprüfen des Clusterstatus vom Verwaltungsknoten:

ndb_mgm
anzeigen

Schritt 5 – Zusätzliche Tipps

Durchführen eines sicheren Neustarts und Herunterfahrens des Clusters.

Gehen Sie zum Clusterverwaltungsknoten und geben Sie den folgenden Befehl ein, um den Cluster herunterzufahren:

ndb_mgm
Herunterfahren

Der Befehl beendet alle ndb-Dienste auf Datenknoten.

Wenn Sie den Cluster erneut starten möchten, können Sie den folgenden Befehl auf dem Verwaltungsknoten ausführen:

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

Und führen Sie den folgenden Befehl auf allen Datenknoten aus:

ndbd
systemctl mysql starten

Starten Sie dann den mysql-Dienst auf dem/den SQL-Knoten:

systemctl mysql starten

Jetzt läuft Ihr MySQL-Cluster wieder.


Ubuntu
  1. So installieren Sie MySQL 8.0 in Ubuntu 18.04

  2. So installieren Sie MySQL unter Ubuntu 20.04

  3. So installieren Sie MySQL unter Ubuntu 18.04

  4. So installieren Sie MySQL 8.0 auf Ubuntu 18.04

  5. So installieren Sie Node.js unter Ubuntu 16.04

So installieren Sie Drupal unter Ubuntu 14.04

So installieren Sie Node.js unter Ubuntu 14.04

So installieren Sie Node.js unter Ubuntu 16.04

So installieren Sie Node.js unter Ubuntu 19.04

So installieren Sie Node.js unter Ubuntu 14.04

So installieren Sie MySQL unter Ubuntu 22.04