Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Eigenständiger MySQL-Server

Bei einigen Arten von Bereitstellungen, insbesondere wenn umfangreiche dynamische Anwendungen auf einer großen Datenbank basieren, kann die Trennung des Datenbankservers vom Anwendungsserver Ihrer Anwendung ermöglichen, zu skalieren und eine viel größere Benutzerbasis aufzunehmen. Wenn Sie einen separaten Server festlegen, der ausschließlich von MySQL verwendet wird, kann der Webserver der Anwendung Inhalte effizienter bereitstellen, während der Datenbankserver schneller reagieren kann.

Daher können diese Datenbankserver Bereitstellungen mit hoher Verkehrslast effektiver unterstützen. Dies kann Ihnen helfen, eine höhere Leistung für eine Reihe von Anwendungen zu erzielen, von beliebten Paketen wie WordPress und Drupal bis hin zu benutzerdefinierten Anwendungen, die in Ruby on Rails und Django geschrieben wurden.

Voraussetzungen

In dieser Anleitung verwenden wir zwei Linodes. Beachten Sie, dass dies anders ist, als einfach ein zweites Konfigurationsprofil auf Ihrem bestehenden Linode-Konto bereitzustellen, da beide Server gleichzeitig laufen müssen. Wir gehen davon aus, dass Sie die Anleitung zum Einrichten und Sichern einer Recheninstanz für beide Linodes befolgt haben.

  • Für Linode, auf dem der Webserver ausgeführt wird, im Folgenden der Anwendungsserver, sollten Sie bereits Apache (oder Ihren bevorzugten Webserver) installiert haben. Folgen Sie für eine Neuinstallation dem LAMP-Leitfaden für Ihre Distribution. Das LAMP-Handbuch enthält MySQL, das Sie nicht installieren müssen.
  • Der dedizierte MySQL Linode sollte MySQL installiert haben. Befolgen Sie die Installationsanleitung für den MySQL-Datenbankserver für Ihre Distribution. Denken Sie daran, dass Sie Apache nicht auf dem dedizierten MySQL-Server installieren müssen.

Außerdem möchten Sie Aliase für die private IP-Adresse jedes Linode konfigurieren. Sie können dem Linux Static IP Configuration Guide folgen, um Hilfe dabei zu erhalten. Es ist wichtig zu beachten, dass sich beide Linodes im selben Rechenzentrum befinden sollten damit private Netzwerke funktionieren. Dadurch können die Server kommunizieren, ohne dass der Datenverkehr auf Ihr monatliches Bandbreitenkontingent angerechnet wird. Nach der Konfiguration der privaten IP-Adressen müssen beide Linodes neu gestartet werden.

/etc/hosts bearbeiten

Sie sollten Hostnamen für jede Maschine erstellen, damit Sie sie später nachverfolgen können. Das spart auch Arbeit, falls Sie mal in eine Situation geraten sollten, in der Sie die IP-Adresse des Servers ändern müssen. Bearbeiten Sie /etc/hosts Datei, um die private einzuschließen IP-Adressen von jedem Linode. Verwenden Sie den folgenden Auszug aus einem Beispiel /etc/hosts Datei als Beispiel:

Datei:/ etc/hosts
1
> 127.0.0.1 localhost 192.168.192.168 mysql.example.com mysql 192.168.192.169 app.example.com app

Denken Sie daran, 192.168.192.168 zu ersetzen und 192.168.192.169 mit den tatsächlichen privaten IP-Adressen.

Während dieser Schritt optional ist, konfigurieren Sie hosts Einträge ermöglichen es Ihnen, Anwendungskonfigurationen nicht fest auf bestimmte IP-Adressen zu codieren. Sie können Ihre Anwendungs- und Datenbankserver schnell auf alternative Server migrieren, falls Sie jemals Ihre IP-Adressen ändern müssen.

Konfigurieren des MySQL-Servers

Der nächste Schritt besteht darin, /etc/mysql/my.cnf zu ändern Datei auf Ihrem MySQL-Server, um Ihre private IP-Adresse abzuhören. Öffnen Sie mit Ihrem bevorzugten Editor die Datei /etc/mysql/my.cnf Datei und fügen Sie den Hostnamen der MySQL-Datenbank ein. In diesem Beispiel lautet der Hostname der MySQL-Datenbank mysql . Suchen Sie die bind-address Zeile:

Datei:/ etc/mysql/my.cnf
1
bind-address = mysql

Alternativ können Sie die private IP-Adresse verwenden. Speichern Sie die Datei und führen Sie den folgenden Befehl aus, um den MySQL-Daemon neu zu starten:

/etc/init.d/mysql restart

Datenbankzugriff gewähren

Auf dem dedizierten Datenbankserver müssen Sie einen Datenbankbenutzernamen und ein Kennwort mit Zugriffsrechten erstellen. Dies ist über die MySQL-Eingabeaufforderung möglich. Geben Sie den folgenden Befehl aus:

mysql -u root -p

Dadurch wird eine MySQL-Befehlszeile bereitgestellt. Geben Sie die folgenden Befehle aus und ersetzen Sie dabei app mit dem Hostnamen des Linode, auf dem der Anwendungsserver läuft, und einem starken Passwort anstelle von „PASSWORT“:

CREATE DATABASE webapplications;

GRANT ALL ON webapplications.* TO [email protected]'app' IDENTIFIED BY 'PASSWORD';

In diesem Stadium kann Ihre Anwendung erfolgreich auf die Remote-Datenbank zugreifen, und Sie können mit der Verwendung des Datenbankservers beginnen.

Verwendung des Datenbankservers

Von diesem Punkt an ist alles konfiguriert und Ihr Datenbankserver ist bereit, eine Verbindung von Ihrem Webserver anzunehmen. Sie sollten jetzt in der Lage sein, Ihre Anwendung ohne Zwischenfälle auf den MySQL-Server zu verweisen. Denken Sie daran, dass Sie beim Einrichten von Webanwendungen für die Arbeit mit einem Remote-MySQL-Server einen Benutzer mit Rechten für das Remote-System erstellen müssen (wie oben gezeigt).

Die Verwendung von MySQL auf einem separaten Datenbankserver ist dem Betrieb eines lokalen Datenbankservers sehr ähnlich. Typischerweise erfordern Anwendungen, dass Sie den „Datenbank-Hostnamen“ angeben, und herkömmliche Datenbankserver, die auf dem lokalen Computer ausgeführt werden, haben einen Hostnamen von localhost . Wenn Sie Datenbank- und Anwendungsserver trennen, müssen Sie den Hostnamen wie oben festgelegt in der Anwendung angeben.

Beispielsweise sind inWordPress-Datenbankeinstellungen in der wp-config.php enthalten Datei, und der Hostname wird im folgenden Format angegeben:

Datei:wp -config.php
1
2
/** MySQL hostname */
define('DB_HOST', 'mysql');

Beachten Sie, dass die Methode zum Festlegen des Hostnamens von Anwendung zu Anwendung unterschiedlich ist. Außerdem können Sie die spezifische IP-Adresse des Datenbankservers ersetzen, anstatt den Hostnamen zu verwenden, wie er in /etc/hosts konfiguriert ist oben.

Erwägen Sie auch, auf die externalMySQL-Website für MySQL-spezifische Abfragen und zugehörige Hilfe zu verweisen.

Weitere Informationen

Weitere Informationen zu diesem Thema finden Sie in den folgenden Ressourcen. Obwohl diese in der Hoffnung bereitgestellt werden, dass sie nützlich sind, beachten Sie bitte, dass wir nicht für die Genauigkeit oder Aktualität extern gehosteter Materialien garantieren können.

  • Leitfäden für Webanwendungen
  • Webanwendungs-Frameworks
  • Datenbankverwaltungssysteme