Beiträge von lhsei

    Ich habe es jetzt noch einmal nachgestellt. Offensichtlich fehlt bei der aktuellen MariaDB- Version, die über opkg ausgerollt wird, die deutsche errmsg.sys.


    Daher weigert sich der Server, Deutsch einzustellen.


    Entweder kann man die Datei vom offiziellen MariaDB-Server herunterladen (ich habe das Windows-ZIP-Archiv genommen) oder man kopiert die vorhandene englische Datei in das deutsche Verzeichnis.


    Als Workaround empfehle ich Folgendes:


    Code
    mkdir/opt/share/mariadb/german
    cp /opt/share/mariadb/english/errmsg.sys /opt/share/mariadb/german/

    Am besten gleich mal die aktuellste Version von phpMyAdmin installieren.


    Dazu folgende Befehle:


    Code
    cd /share/Web
    wget https://files.phpmyadmin.net/phpMyAdmin/5.1.0/phpMyAdmin-5.1.0-all-languages.zip
    unzip phpMyAdmin-5.1.0-all-languages.zip
    rm phpMyAdmin
    mv phpMyAdmin-5.1.0-all-languages phpMyAdmin
    rm phpMyAdmin-5.1.0-all-languages.zip

    Dann hat man bei der Anmeldung eine Klappliste mit der Sprachauswahl.

    Da stimmt das Passwort für den root-Nutzer nicht.


    Wenn Du es nicht mehr weißt, einfach den neuen MariaDB-Server stoppen, den alten Server über die Weboberfläche starten, das root-Passwort über die Weboberfläche zurücksetzen.


    Dann die mysql-DB noch mal neu exportieren, den internen Server stoppen, die Datenbanken des neuen Servers löschen und dann den neuen Server starten und die mysql-DB noch mal importieren.

    Hier noch mal meine 50-server.conf:


    ok. Als erstes brauchst Du ein SSH-Programm auf dem PC. Google mal nach Putty.


    Dann musst Du in der Systemsteuerung des NAS SSH aktivieren: Systemsteuerung -> Netzwerk und Dateiservices -> Telnet und SSH. Bitte nur SSH aktivieren und kein Telnet.


    Dann Putty auf dem PC starten und die IP-Adresse des NAS eingeben.


    Dann mit dem Admin-Nutzer des NAS im SSH einloggen und den Befehl df -h eingeben.

    Hallo,


    ich versuche mal ein bisschen Licht ins Dunkel zu bringen:


    Der Wechsel zwischen externem MariaDB-Server und internem Server ist einfach. Es muss nur der externe Server beendet werden mit


    Code
    /opt/etc/init.d/S70mysqld stop

    Danach kann der interne Server über die Weboberfläche des NAS wieder aktiviert werden. Aber ACHTUNG: Natürlich müssten dann vorher die Datenbanken zurückgespielt werden - ansonsten arbeitet der interne Server mit dem Stand der Datenbanken vor der Abschaltung des internen Servers.


    In der von mir geposteten Konfiguration ersetzt der externe Server den internen Server lückenlos. Anwendungsprogramme (z.B. phpMyAdmin) erkennen keinen Unterschied, da der externe Server auf dem gleichen Port (TCP 3306) und dem gleichen Socket /tmp/mysql.sock lauscht. Damit muss keine Anwendung umkonfiguriert werden. Theoretisch ist es auch möglich, beide SQL-Server parallel zu betreiben - dazu muss nur in der 50-server.cnf der Port und der Socket geändert werden. Dann muss aber in jeder Anwendung der Server manuell konfiguriert werden. Außerdem belasten dann beide Server die CPU des NAS und meine Lösung war ja gerade dazu gedacht, den alten nicht mehr supporteten SQL-Server durch einen aktuellen sicheren Server zu ersetzen.


    Zum Thema myPhpAdmin kann ich auch nur empfehlen, das aktuelle Package von Github herunterzuladen und zu installieren. Dazu einfach das Zip-Package im Web-Ordner des NAS installieren.


    Und GANZ WICHTIG: Falls das NAS von extern erreichbar ist, sollte auf jeden Fall im phpMyAdmin-Verzeichnis eine .htaccess-Datei mit folgendem Inhalt erstellt werden, damit nur von intern zugegriffen werden kann:


    Code
    deny from all
    allow from 192.168.x.

    wobei das 192.168.x. durch Dein internes Netz ersetzt werden muss.

    Das kann ich aufgrund der geringen Datenbanklast nicht beantworten. Allerdings ist die CPU-Auslastung bei Datenbankoperationen deutlich geringer. Und es wird eine Version eingesetzt, die noch im Support ist, was eine deutlich höhere Sicherheit bedeutet.


    NACHTRAG:

    Die Geschwindigkeit ist deutlich höher - meine Digikam-Installation mit MySQL-DB läuft deutlich flüssiger.

    Liebe Community,


    für alle, die gern die interne MariaDB-Version 5.5.57 auf eine aktuelle 10.4.x anheben möchten, ohne Container zu installieren, hier ein Vorschlag:


    Voraussetzung: Entware-Std ist installiert. Dieses gibt es unter


    https://github.com/Entware/Entware/wiki/Install-on-QNAP-NAS


    Nach Installation des Paketes kann über SSH mit folgendem Befehl der aktuelle MariaDB10.4.x-Server und -Client installiert werden:


    Code
    opkg install mariadb-server-extra mariadb-client-extra nano

    Nach der Installation mit

    Code
    cd /opt/etc/mysql/conf.d/

    in das Konfigurationsverzeichnis wechseln.


    Nun die Konfiguration bearbeiten:


    Code
    nano 50-server.cnf

    Damit der MariaDB10.4.x-Server als Ersatz für den internen MariaDB-Server genutzt werden kann, müssen folgende Einträge angepasst werden:


    In meinem Beispiel habe ich einen separaten Ordner "databases" für die Datenbankfiles in der Systemsteuerung des NAS angelegt. Somit ist auch eine Sicherung der Datenbankdateien einfacher möglich.


    Sollte der Server nicht nur von "localhost" (127.0.0.1) erreichbar sein, so muss die folgende Zeile in der Konfiguration mit einem "#" auskommentiert werden:

    Code
    #bind-address = 127.0.0.1 


    Nun müssen ggf. noch die unter dem bisherigen SQL-Server genutzten Datenbanken gesichert werden. Hierzu folgenden Befehl ausführen:


    Code
    /usr/local/mariadb/bin/mysql -u root -p

    Das Passwort entspricht dem bei der Einrichtung des SQL-Servers über die Systemsteuerung vergebenen Passwort.


    Im SQL-Server können nun mit folgendem Befehl die genutzten Datenbanken abgefragt werden:


    Code
    SHOW DATABASES;

    Gesichert werden muss neben den eigentlichen Nutzerdatenbanken auch die Datenbank "mysql", die die Einstellungen und Nutzer beinhaltet.


    Die Sicherung kann z.B. mit folgendem Befehl in das Verzeichnis /share/Public erfolgen:


    Code
    /usr/local/mariadb/bin/mysqldump --single-transaction -h localhost -u root -p DATENBANKNAME >/share/Public/DATENBANKNAME.sql

    Nachdem alle Datenbanken gesichert sind, muss der eingebaute SQL-Server über die Systemsteuerung --> Anwendungen --> SQL-Server abgeschaltet werden.


    Nachdem der eingebaute SQL-Server nicht mehr läuft, kann der neue MariaDB10.4.x-Server gestartet werden:


    Code
    mysql_install_db --force
    /opt/etc/init.d/S70mysqld restart

    Nun muss als erstes die mysql-DB wieder importiert werden, damit die User-Einstellungen übernommen werden:

    Code
    mysql -h localhost -u admin -p       #ACHTUNG: hier noch ein leeres Passwort verwenden
    DROP DATABASE mysql;
    CREATE DATABASE mysql;
    quit
    mysql -h localhost -u admin -p mysql </share/Public/mysql.sql

    Ab hier gilt nun wieder das ursprüngliche Passwort für den "root"-Nutzer, welches beim internen SQL-Server vergeben war.


    Jetzt nur noch die Nutzerdatenbanken, die gemäß oben beschriebenem Vorgehen in /share/Public gesichert wurden, wieder einspielen:


    Code
    mysql -h localhost -u root -p -e "CREATE DATABASE DATENBANKNAME" 
    mysql -h localhost -u root -p DATENBANKNAME </share/Public/DATENBANKNAME.sql

    FERTIG!

    Die Konfiguration ist Reboot-fest, so dass ab sofort auch nach einem Reboot der MariaDB10.4.x-Server genutzt wird.


    Eine (regelmäßige) Aktualisierung kann mit folgenden Befehlen durchgeführt werden:


    Code
    opkg update
    opkg upgrade

    Empfehlenswert ist es, den Order mit den Datenbankdateien in das regelmäßige Backup einzubinden. Für noch mehr Sicherheit sollte ein Cron-Job angelegt werden, der regelmäßig mit folgendem Befehl die einzelnen Datenbanken sichert:


    Code
    mysqldump --single-transaction -h localhost -u root -p DATENBANKNAME> /share/Public/DATENBANKNAME.sql

    ...wobei natürlich der Pfad /share/Public/DATENBANKNAME.sql individuell angepasst werden sollte.

    Hallo,


    falls der Laptop mit Windows 10 Pro läuft, wären die "Offlinedateien" eine Möglichkeit. Hierzu den Share des NAS als Netzlaufwerk auf dem PC verbinden und dann in den Einstellungen (rechte Maustaste --> Offlinedateien) das Laufwerk als "offline verfügbar" einbinden. Windows cacht dann die Inhalte auf der lokalen Platte und synchronisiert sie automatisch bei Verfügbarkeit des Netzes.


    Eine weitere Alternative wäre der Einsatz einer Nextcloud (z.B. als Container auf dem NAS) - dort kann man dann über den Desktop-Client auch von unterwegs die Dateien direkt synchronisieren.