Dies ist eine alte Version des Dokuments!


MySQLDumper unter CentOS 7.x installieren und einrichten

Bild: MySQLDumper Logo 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.

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:

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

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

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

Haben wir als Webserver einen NGiNX unter der Motorhaube ist die Konfiguration unseres vHOST auch kein großes Hexenwerk.

 # vim /etc/nginx/conf.d/mysqldumper.conf
/etc/nginx/conf.d/mysqldumper.conf
server {
                                # Django : 2015-05-28
                                # auf welchem Port soll der Server lauschen (HTTP: 80)?
        listen                  80;
 
                                # auf welchen Servernamen (vHOST) soll der Server reagieren?
        server_name             mysqldumper.nausch.org;
 
                                # Welches Access- und Error-Logfile soll beschrieben werden?
        access_log              /var/log/nginx/mysqldumper_access.log;
        error_log               /var/log/nginx/mysqldumper_errors.log;
 
                                # Zugriffe erst nach erfolreicher Authentifizierung gestatten
        auth_basic              "MSD on vml000097 - nausch.org";
        auth_basic_user_file    /etc/awstats/htpasswd;
 
                                # Welcher Inhalt soll angezeigt bzw. auf welchen Server sollen die HTTP-Requests
                                # weitergeleitet werden?
        root                    /srv/www/html/msd1.24.4/;
        index                   index.php;
 
                                # php-Dateien dem PHP FastCGI Process Manager-Daemon php-fpm übergeben. 
        location ~ \.php {
                                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                                fastcgi_index           index.php;
                                fastcgi_param           SCRIPT_FILENAME         $document_root$fastcgi_script_name;
                                include                 fastcgi_params;
        }
 
                                # perl-Dateien dem PHP FastCGI Process Manager-Daemon php-fpm übergeben.
        location ~ msd_cron/perltest.pl {
                                fastcgi_split_path_info ^(.+\.pl)(/.+)$;
                                fastcgi_index           perltest.pl;
                                fastcgi_param           SCRIPT_FILENAME         $document_root$fastcgi_script_name;
                                include                 fastcgi_params;
        }
 
                                # Zugriff auf die Konfigurationsdatei verbieten
        location ~ config.php {
                                deny all;
        }
}

Den Parameter fastcgi_pass setzen wir im übrigen auf den Wert aus der Konfigurationsdatei /etc/php-fpm.d/www.conf des PHP FastCGI Process Manager-Daemon php-fpm.

Haben wir die Konfigurationsdatei vervollständigt, prüfen wir diese noch auf syntaktische Fehler.

 # nginx -t
 nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
 nginx: configuration file /etc/nginx/nginx.conf test is successful

Somit können wir unsere Konfiguration nun noch aktivieren.

 # systemctl reload nginx

… do geds weida …

Diese Website verwendet Cookies. Durch die Nutzung der Website stimmen Sie dem Speichern von Cookies auf Ihrem Computer zu. Außerdem bestätigen Sie, dass Sie unsere Datenschutzbestimmungen gelesen und verstanden haben. Wenn Sie nicht einverstanden sind, verlassen Sie die Website.Weitere Information
  • centos/web_c7/mysqldumper.1436269506.txt.gz
  • Zuletzt geändert: 07.07.2015 11:45.
  • von django