Dies ist eine alte Version des Dokuments!
MySQLDumper unter CentOS 7.x installieren und einrichten
Zum komfortablen Sichern und ggf. Wiederherstellen einzelner Tabellen und/oder Datenbanken unseres MariaDB-Datenbankservers greifen wir auf das Projekt MySQLDumper zurück.
Eine genaue Funktionsbeschreibung von MySQLDumper findet man auf der zugehörigen Projektseite.
Installation
PHP-Voraussetzungen
Für unseren komfortablen Weg der Sicherung unseres MariaDB-Servers muß natürlich ein funktionstüchtiger MariaDB-Server unter CentOS 7.x und entweder ein passender Apache-Webserver oder der Webserver NGiNX zur Verfügung stehen. Es werden werden von mysqldumper folgende Pakete benötigt:
- php
- perl-CGI
- perl-Email-Date-Format
- perl-Net-SMTP-SSL
- perl-Net-HTTPTunnel
- perl-Net-Daemon
- perl-PlRPC
- perl-DBI
- perl-MIME-Types
- perl-MIME-Lite
- perl-DBD-MySQL
- perl-Net-FTPSSL
- perl-MailTools
Zur einfachen Installation via YUM greifen wir auf die folgenden Repositories zurück:
- CentOS-Base
Die oben genannten Pakete installieren wir, sofern diese nicht schon bei der Grundinstallation unseres Apache-Webservers erfolgte, mit Hilfe von YUM
# yum install php perl-CGI perl-Email-Date-Format perl-Net-SMTP-SSL perl-Net-HTTPTunnel perl-Net-Daemon \ perl-PlRPC perl-DBI perl-MIME-Types perl-MIME-Lite perl-DBD-MySQL perl-Net-FTPSSL perl-MailTools -y
Anschließend starten wir bei Bedarf unseren Webserver einmal durch.
# systemctl reload httpd
bzw. im Falle von NGiNX:
# systemctl reload nginx
mysqldumper
Da es für mysqldumper kein RPM für CentOS 7 gibt, installieren wir die Software eben aus den Quellen selbst. Dazu holen wir uns das ZIP-Archiv von der SoureForge-Projektseite.
# wget -P /usr/local/src/packages/ \ http://downloads.sourceforge.net/project/mysqldumper/MySQLDumper/MySQLDumper1.24.4.zip
Anschließend entpacken wir das Archiv in unser WebRoot-Verzeichnis unseres Webservers.
# unzip -d /srv/www/html/ /usr/local/src/packages/MySQLDumper1.24.4.zip
Für die Backup-Dateien, die Konfigurations-, Backup- sowie für die Logdateien legen wir uns nun noch im entsprechenden Zielverzeichnis jeweils ein Verzeichnis an., Hierzu benutzen wir folgenden Befehl.
# mkdir -p /srv/www/html/msd1.24.4/work/{config,backup,log}
Zum Schluß setzen wir noch die Datei- und Verzeichnisse so, dass unser Webserver und die PHP-/Perl-Scripte dort auch die Daten ablegen kann.
# chmod -R 777 /srv/www/html/msd1.24.4/work # chmod -R 755 /srv/www/html/msd1.24.4/msd_cron
Nutzen wir einen Apache Webserver setzen wir den User und die Gruppe auf apache.apache.
# chown apache.apache /srv/www/html/msd1.24.4/config.php
Verwenden wir als Webserver NGiNX setzen wir den User und die Gruppe auf entsprechend auf nginx.nginx.
# chown nginx.nginx /srv/www/html/msd1.24.4/config.php
grundlegende Konfiguration
Apache vHOST
Im ersten Konfigurationsbeispiel richten wir uns einen vHOST für unseren Apache-Webserver ein; hierzu legen wir uns folgende Beispielkonfigurationsdatei an.
# vim /etc/httpd/conf.d/mysqldumper.conf
- /etc/httpd/conf.d/mysqldumper.conf
# # Web application to manage MariaDB backups # mysqldumper.nausch.org # <VirtualHost *:80> ServerAdmin webmaster@nausch.org ServerName mysqldumper.nausch.org ServerAlias www.mysqldumper.nausch.org ServerPath / DocumentRoot "/srv/www/html/msd1.24.4" <Directory "/srv/www/html/msd1.24.4"> Options -Indexes +FollowSymLinks +ExecCGI # Tachtler (enable for .htaccess file support) # AllowOverride AuthConfig AllowOverride None # Django: 2015-07-07 # Zugriff vom eigenen Netz aus erlauben Require ip 10.0.0 # Zugriff von überall erlauben #Require all granted </Directory> <File "/srv/www/html/msd1.24.4/config.php"> Options -Indexes -FollowSymLinks AllowOverride None # Django: 2015-07-07 # Zugriff von überall sperren Require all denied </File> AddHandler cgi-script .pl DirectoryIndex index.php ErrorLog logs/mysqldumper_error.log CustomLog logs/mysqldumper_access.log combined </VirtualHost>
Haben wir die Konfigurationsdatei vervollständigt, prüfen wir diese noch auf syntaktische Fehler.
# apachectl -t
Syntax OK
Ein reload unseres Apache Webserver reicht nun aus, um den neuen vHOST verfügbar zu haben.
# systemctl reload httpd
NGiNX vHOST
… do geds weida …