So installieren, sichere und leistungsstimmende Tuning des MariADB -Datenbankservers
- 2240
- 209
- Hr. Moritz Bozsik
Ein Datenbankserver ist eine kritische Komponente der Netzwerkinfrastruktur, die für die heutigen Anwendungen erforderlich ist. Ohne die Möglichkeit, Daten zu speichern, abzurufen, zu aktualisieren und zu löschen, wird der Nutzen und der Umfang von Web- und Desktop -Apps bei Bedarf sehr begrenzt.
Installieren, sicheren und Leistungsstimmen von Mariadb Server installierenDarüber hinaus ist es eine wesentliche Fähigkeit, einen Datenbankserver zu installieren, zu verwalten und zu konfigurieren (damit er wie erwartet funktioniert), die jeder Systemadministrator haben muss.
In diesem Artikel werden wir kurz untersuchen.
Installieren und Sicherung eines Mariadb -Servers
In Centos 7.X, Mariadb ersetzte MySQL, was noch in der gefunden werden kann Ubuntu (zusammen mit Mariadb). Das gleiche gilt für OpenSuse.
Für die Kürze werden wir nur verwenden Mariadb In diesem Tutorial, aber bitte beachten Relationale Datenbankverwaltungssysteme (RDBMSS kurz) sind fast identisch.
Dies bedeutet, dass die clientseitigen Befehle bei beiden gleich sind Mysql Und Mariadb, und die Konfigurationsdateien werden an denselben Stellen benannt und befinden.
Um Mariadb zu installieren, tun Sie:
--------------- Auf CentOS/RHEL 7 und Fedora 23 --------------- # yum update && yum install mariadb mariadb-server # centos --------------- Auf Debian und Ubuntu --------------- $ sudo aptitude update && sudo aptitude install mariadb-client mariadb-server --------------- Auf OpenSuse --------------- # Zypper Update && Zypper Installieren Sie Mariadb Mariadb-Tools # OpenSuse
Beachten Sie, dass in Ubuntu, Sie werden gebeten, ein Passwort für den Root -Benutzer von RDBMS einzugeben.
Sobald die oben genannten Pakete installiert wurden, stellen Sie sicher, dass der Datenbankdienst ausgeführt wird und aktiviert wurde, um mit dem Start (in Centos Und OpenSuse Sie müssen diese Operation manuell ausführen, während Sie in Ubuntu Der Installationsprozess hat sich bereits für Sie darum gekümmert):
--------------- Auf CentOS/RHEL 7 und Fedora 23 --------------- # Systemctl Start Mariadb && SystemCTL Aktivieren Sie Mariadb --------------- Auf OpenSuse --------------- # Systemctl starten MySQL && SystemCTL Aktivieren Sie MySQL
Dann laufen Sie die mysql_secure_installation
Skript. Mit diesem Vorgang können Sie:
- Setzen Sie das Kennwort für den RDBMS -Root -Benutzer ein / setzen Sie sie zurück
- Entfernen Sie anonyme Anmeldungen (ermöglichen Sie nur Benutzer mit einem gültigen Konto, sich bei den RDBMs anzumelden)
- Deaktivieren Sie den Wurzelzugang für andere Maschinen als Localhost
- Entfernen Sie die Testdatenbank (auf die jeder zugreifen kann)
- Aktivieren Sie die mit 1 bis 4 verbundenen Änderungen.
Eine detailliertere Beschreibung dieses Prozesses finden Sie im Abschnitt Post -Installation in der Installation der MariADB -Datenbank in RHEL/CentOS/Fedora und Debian/Ubuntu.
Konfigurieren von Mariadb -Server
Die Standardkonfigurationsoptionen werden aus den folgenden Dateien in der angegebenen Reihenfolge gelesen: /etc/mysql/mein.CNF
, /etc/mein.CNF
, Und ~/.Mein.CNF
.
Meistens nur, nur /etc/mein.CNF
existiert. In dieser Datei setzen wir die serverweiten Einstellungen fest (die mit denselben Einstellungen in überschrieben werden können ~/.Mein.CNF
für jeden Benutzer).
Das erste, worüber wir notieren müssen Mein.CNF
ist, dass die Einstellungen in Kategorien (oder Gruppen) organisiert sind, in denen jeder Kategorienname mit quadratischen Klammern umschlossen ist.
Serversystemkonfigurationen sind in der angegeben [Mysqld]
Abschnitt, in dem Sie normalerweise nur die ersten beiden Einstellungen in der folgenden Tabelle finden. Der Rest sind andere häufig verwendete Optionen (sofern angegeben, werden wir den Standardwert mit einer unserer benutzerdefinierten unserer Wahl ändern):
Einstellung und Beschreibung | Standardwert |
Datadir ist das Verzeichnis, in dem die Datendateien gespeichert werden. | datadir =/var/lib/mysql |
Der Socket gibt den Namen und der Ort der Socket -Datei an, die für lokale Client -Verbindungen verwendet wird. Beachten Sie, dass eine Socket -Datei eine Ressource ist, die zum Übergeben von Informationen zwischen Anwendungen verwendet wird. | Socket =/var/lib/mysql/mysql.Socke |
Bind_address ist die Adresse, in der der Datenbankserver für TCP/IP -Verbindungen anhört. Wenn Sie Ihren Server benötigen, um mehr als eine IP -Adresse zu hören, lassen Sie diese Einstellung (0) aus (0).0.0.0, was bedeutet, dass es alle IP -Adressen anhört, die diesem speziellen Host zugewiesen sind. Wir werden dies ändern, um den Dienst zu unterweisen, nur auf seine Hauptadresse zuzuhören (192.168.0.13): bind_address = 192.168.0.13 | bind_address = 0.0.0.0 |
Port repräsentiert den Port, an dem der Datenbankserver zuhört. Wir werden den Standardwert (3306) durch 20500 ersetzen (aber wir müssen sicherstellen, dass nichts anderes diesen Port verwendet): Während einige Leute argumentieren, dass Sicherheit durch Dunkelheit keine gute Praxis ist, ist die Änderung der Standardantragsanschlüsse für höher. | Port = 3306 |
INNODB_BUFFER_POOL_SIZE ist der Pufferpool (in Bytes) des Speichers, der für Daten und Indizes zugewiesen wird, auf die innoDB (die in Mariadb) oder Xtradb als Speichermotor häufig zugegriffen wird. Wir werden den Standardwert durch 256 MB ersetzen: innodb_buffer_pool_size = 256m | innodb_buffer_pool_size = 134217728 |
Skip_name_Resolve gibt an, ob Hostnamen aufgehoben werden oder nicht, um ankommende Verbindungen zu erhalten. Wenn Sie auf 1 festgelegt sind, wie in diesem Handbuch, nur IP -Adressen. Sofern Sie Hostnamen nicht benötigen, um Berechtigungen zu ermitteln, ist es ratsam, diese Variable zu deaktivieren (um Verbindungen und Abfragen zu beschleunigen), indem der Wert auf 1 festgelegt wird: Skip_name_resolve = 1 | Skip_name_resolve = 0 |
query_cache_size repräsentiert die Größe (in Bytes), die dem Abfrage -Cache in der Festplatte zur Verfügung stehen. Sie sollten eine Abfrage -Cache -Größe auswählen, die Ihren Anforderungen basierend auf 1) der Anzahl der sich wiederholenden Abfragen und 2) der ungefähren Anzahl von Aufzeichnungen, die diese sich wiederholenden Abfragen zurückgeben sollen. Wir werden diesen Wert vorerst auf 100 MB festlegen: query_cache_size = 100m | query_cache_size = 0 (was bedeutet, dass es standardmäßig deaktiviert ist) |
max_connections ist die maximale Anzahl gleichzeitiger Client -Verbindungen zum Server. Wir werden diesen Wert auf 30 festlegen: MAX_CONNECTIONS = 30EACH -Verbindung verwendet einen Thread und verbraucht somit Speicher. Berücksichtigen Sie diese Tatsache, während Sie max_connections festlegen. | max_connections = 151 |
thread_cache_size zeigt die Nummern der Threads an, die der Server wiederverwendet hat. In dieser Situation ist es billiger (leistungsfähig), einen Thread wiederzuverwenden, als eine neue zu instanziieren. Auch dies hängt von der Anzahl der von Ihnen erwarteten Verbindungen ab. Wir können diesen Wert sicher auf die Hälfte der Anzahl der max_connections einstellen: thread_cache_size = 15 | thread_cache_size = 0 (standardmäßig deaktiviert) |
In Centos, Wir müssen es sagen Selinux erlauben Mariadb um auf einen nicht standardmäßigen Hafen zuzuhören (20500) Vor dem Neustart des Dienstes:
# yum Installation PolicyCoreUtils -Python # Semanage Port -a -t mysqld_port_t -p tcp 20500
Starten Sie dann den Mariadb -Service neu.
MARIADB Performance
Um uns bei der Überprüfung und Abstimmung der Konfiguration gemäß unseren spezifischen Anforderungen zu unterstützen, können wir installieren Mysqltuner (Ein Skript, das Vorschläge zur Verbesserung der Leistung unseres Datenbankservers und der Erhöhung seiner Stabilität enthält):
# WGet https: // github.com/major/mysqltuner-perl/tarball/master # tar xzf Master
Wechseln Sie dann das Verzeichnis in den aus dem Tarball extrahierten Ordner (die genaue Version kann sich in Ihrem Fall unterscheiden):
# CD Major-Mysqltuner-Perl-7DABF27
und führen Sie es aus (Sie werden aufgefordert, die Anmeldeinformationen Ihres administrativen Mariadb -Kontos einzugeben)
# ./Mysqltuner.Pl
Die Ausgabe des Skripts ist an sich sehr interessant
Mariadb Performance TunningDer query_cache_type
Die Einstellung gibt an, ob der Abfrage -Cache deaktiviert ist (0) oder aktiviert (1). In diesem Fall, Mysqltuner rät uns, es zu deaktivieren.
Warum werden wir also empfohlen, es jetzt zu deaktivieren?? Der Grund dafür ist, dass der Abfrage-Cache hauptsächlich in hochgelesenen / niedrigen Schreibszenarien nützlich ist (was nicht unser Fall ist, da wir gerade den Datenbankserver installiert haben).
WARNUNG: Bevor Sie Änderungen an der Konfiguration eines Produktionsservers vornehmen, werden Sie sehr empfohlen, einen Experten -Datenbankadministrator zu konsultieren, um sicherzustellen.
Zusammenfassung
In diesem Artikel haben wir erklärt, wie Sie einen MariADB -Datenbankserver konfigurieren, nachdem wir ihn installiert und gesichert haben. Die in der obigen Tabelle aufgeführten Konfigurationsvariablen sind nur wenige Einstellungen, die Sie bei der Vorbereitung des Servers für die Verwendung oder beim späteren Abstimmen möglicherweise berücksichtigen möchten. Beziehen Sie sich immer auf die offizielle Mariadb -Dokumentation, bevor Sie Änderungen vornehmen, oder beziehen Sie sich auf unsere Mariadb -Tipps zur Performance -Tuning:
Verpassen Sie nicht: 15 Nützliche MARIADB -Tipps für die Leistung und Optimierung
Zögern Sie wie immer nicht, uns mitzuteilen, ob Sie Fragen oder Kommentare zu diesem Artikel haben. Gibt es andere Servereinstellungen, die Sie gerne verwenden?? Fühlen Sie sich frei, den Rest der Community mit dem folgenden Kommentarformular mit dem Kommentarformular zu teilen.
Werden Sie ein Linux -zertifizierter Systemadministrator- « Konfigurieren von Squidguard, Aktivieren von Inhaltsregeln und Analyse von Tintenfischprotokollen - Teil 6
- So richten Sie verschlüsselte Dateisysteme ein und tauschen Sie den Speicherplatz mithilfe von Cryptsetup -Tool unter Linux - Teil 3 aus »