Hallo Leute,
ich bin es mal wieder und heute bin ich beim MySQL Dienst angekommen, ich habe mittlerweile sämtliche Daten übertragen und bin dabei alle alten Dienste wieder zum laufen zu bringen. Weil ich in der Freizeit gelegentlich PHP Programmiere habe ich einige Projekte hier liegen. ich habe geschummelt um mir den Aufwand mit den Anlegen der Benutzer und der Zuweisung der Tabellen zu erleichtern. Ich habe dazu. meine Tabellen nach /volume1/@databases kopiert. Natürlich auch den mysql ordner, das sollte so auch sein, wegen den Rechten. Anschließend habe ich die Tabellen den Besitzer admin und der Gruppe root Rekursiv übergeben da mysqld ansonsten die Dateien nicht nutzen kann. Jetzt habe ich aber glatt das Root Kennwort vergessen, welches in der wiederhergestellten Konfiguration vorliegt. Erst wollte ich hier nachfragen, aber ich kenne ja den weg sehr gut. Der Linux Befehl "find" half mir beim Aufspüren der nötigen Dateien. Ab und an vergesse ich mein Kennwort schon nach 10 Minuten, betrifft neben Windows auch Linux Kennwörter. Dann hilft in vielen fällen immer nur das zurücksetzen und das erläutere ich wie es mit MySQL an der DiskStation geht. Ich habe die DS212j.
Als erstes muss man SSH aktivieren, dies tut man über die DSM Administrationsoberfläche unter Systemsteuerung und Terminal. Man aktiviert dort SSH. SSH ist letztlich schon aktiviert nur die Anmeldung wird bis dahin nicht gewährt. Man sollte diesen Port nach außen nicht unbedingt auf machen, denn Angriffe auf diesen Port sind sehr häufig.
Nun benötigt man einen SSH Client. Ich benutze Putty. Es gibt aber auch noch andere Versionen. Man verbindet sich via SSH auf Port 22 zur DiskStation via IP oder dem Gerätenamen, der Benutzername ist root aber das Kennwort ist das selbe wie des Benutzers admin. Bei mir funktionierte auch der Benutzername admin, aber ob das Zufall ist, ich weiß es nicht, denn im Internet steht man meldet sich mit root an.
Wenn man eingeloggt ist bekommt man genau dies angezeigt oder eine ähnliche Art
Nun müssen wir den laufenden MySQL Dienst erstmal beenden. Diesen Befehl kopieren wir und fügen ihn z.B. mit einem Rechtsklick bei Putty ein.
es sollte dies erscheinen...
Nun müssen wir einen Speziellen Modus des MySQL Servers starten, damit er uns auch ohne Passwort an die Daten lässt. Dies geschieht mit:
Ihr werdet sicher so eine Ausgabe nun erhalten haben:
Ab dann müsst ihr eine weitere Verbindung zur DiskStation mit dem SSH Client aufbauen. Ihr müsst das aktuelle aber auch unbedingt offen lassen. Eine schnelle zweite Verbindung zur DiskStation kann man bei Putty mit einem rechten klick auf die Titelleiste des offenen Putty Fenster realisieren, in dem Kontextmenü muss der Eintrag "Duplicate Session" gewählt werden. Anschließend loggt man sich wieder mit root und dem Kennwort von admin ein.
Nun Führen wir den SQL Client als Benutzer root auf der Datenbank mysql aus.
Nun wir sollten Verbunden sein und sehen folgende Ausgabe:
Jetzt müssen wir den SQL Befehl an den Server senden, als Beispielkennwort nehme ich hier MeinGeheimesKennwort. Der SQL Befehl muss so aussehen.
Diese Ausgabe sollte so ungefähr erfolgen wenn ihr diese mit Enter an den Server sendet. Wichtig ist das Query OK und das einige Zeilen betroffen waren.
Nun müssen wir nur noch die Rechte neuladen mit
Beid er Rückgabe sollte auch ein OK übermittelt werden, doch hier werden keine Zeilen verändert.
Nun wären wir fertig und können uns beim MySQL Server mit
abmelden. Das letzte SSH fenster schließen wir dann einfach mit
In meinem Produktiven Test und im Testlauf konnte ich den Spezielen Servermodus sowie den benutzten Port nicht sauber schließen, sodas ich das aktive SSH Fenster schloss, da mit STRG + C das Programm sich nicht beenden lies. Anschließend loggte ich mich in der Administrationsoberfläche als Administrator ein und starte das System neu. Bei mir ertönt ein Signal wenn das System Arbeitsbereit ist und somit loggte ich mich ein und prüfte meine Änderung und nach dem ich meine Logindaten entsprechend angab erschien rechter Hand
Es hat geklappt und nun habe ich alles wieder gerettet ohne mir aufwendig die Nutzer anzulegen, Passwörter aus jeder Config zu kopieren und die Rechte zuzuweisen.
Ich hoffe ich kann jemanden bei Gelegenheit damit helfen. So jetzt erstmal schlafen..
Grüße
ich bin es mal wieder und heute bin ich beim MySQL Dienst angekommen, ich habe mittlerweile sämtliche Daten übertragen und bin dabei alle alten Dienste wieder zum laufen zu bringen. Weil ich in der Freizeit gelegentlich PHP Programmiere habe ich einige Projekte hier liegen. ich habe geschummelt um mir den Aufwand mit den Anlegen der Benutzer und der Zuweisung der Tabellen zu erleichtern. Ich habe dazu. meine Tabellen nach /volume1/@databases kopiert. Natürlich auch den mysql ordner, das sollte so auch sein, wegen den Rechten. Anschließend habe ich die Tabellen den Besitzer admin und der Gruppe root Rekursiv übergeben da mysqld ansonsten die Dateien nicht nutzen kann. Jetzt habe ich aber glatt das Root Kennwort vergessen, welches in der wiederhergestellten Konfiguration vorliegt. Erst wollte ich hier nachfragen, aber ich kenne ja den weg sehr gut. Der Linux Befehl "find" half mir beim Aufspüren der nötigen Dateien. Ab und an vergesse ich mein Kennwort schon nach 10 Minuten, betrifft neben Windows auch Linux Kennwörter. Dann hilft in vielen fällen immer nur das zurücksetzen und das erläutere ich wie es mit MySQL an der DiskStation geht. Ich habe die DS212j.
Als erstes muss man SSH aktivieren, dies tut man über die DSM Administrationsoberfläche unter Systemsteuerung und Terminal. Man aktiviert dort SSH. SSH ist letztlich schon aktiviert nur die Anmeldung wird bis dahin nicht gewährt. Man sollte diesen Port nach außen nicht unbedingt auf machen, denn Angriffe auf diesen Port sind sehr häufig.
Nun benötigt man einen SSH Client. Ich benutze Putty. Es gibt aber auch noch andere Versionen. Man verbindet sich via SSH auf Port 22 zur DiskStation via IP oder dem Gerätenamen, der Benutzername ist root aber das Kennwort ist das selbe wie des Benutzers admin. Bei mir funktionierte auch der Benutzername admin, aber ob das Zufall ist, ich weiß es nicht, denn im Internet steht man meldet sich mit root an.
Wenn man eingeloggt ist bekommt man genau dies angezeigt oder eine ähnliche Art
Rich (BBCode):
BusyBox v1.16.1 (2013-04-16 20:13:10 CST) built-in shell (ash)
Enter 'help' for a list of built-in commands.
Nun müssen wir den laufenden MySQL Dienst erstmal beenden. Diesen Befehl kopieren wir und fügen ihn z.B. mit einem Rechtsklick bei Putty ein.
Rich (BBCode):
/usr/syno/etc/rc.d/S21mysql.sh stop
es sollte dies erscheinen...
Rich (BBCode):
Stopping MySQL...
Shutting down MySQL.... SUCCESS!
Nun müssen wir einen Speziellen Modus des MySQL Servers starten, damit er uns auch ohne Passwort an die Daten lässt. Dies geschieht mit:
Rich (BBCode):
/usr/syno/mysql/bin/mysqld_safe --skip-grant-tables
Rich (BBCode):
YYMMDD HH:MM:SS mysqld_safe Logging to '/var/services/mysql/server.err'.
YYMMDD HH:MM:SS mysqld_safe Starting mysqld daemon with databases from /var/services/mysql
Nun Führen wir den SQL Client als Benutzer root auf der Datenbank mysql aus.
Rich (BBCode):
/usr/syno/mysql/bin/mysql -u root -D mysql
Rich (BBCode):
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.1.49 Source distribution
Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL v2 license
No entry for terminal type "xterm";
using dumb terminal settings.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
Jetzt müssen wir den SQL Befehl an den Server senden, als Beispielkennwort nehme ich hier MeinGeheimesKennwort. Der SQL Befehl muss so aussehen.
Rich (BBCode):
UPDATE user SET password=PASSWORD("MeinGeheimesKennwort") WHERE user='root';
Rich (BBCode):
Query OK, 3 rows affected (0.07 sec)
Rows matched: 3 Changed: 3 Warnings: 0
Nun müssen wir nur noch die Rechte neuladen mit
Rich (BBCode):
flush privileges;
Nun wären wir fertig und können uns beim MySQL Server mit
Rich (BBCode):
quit
Rich (BBCode):
exit
In meinem Produktiven Test und im Testlauf konnte ich den Spezielen Servermodus sowie den benutzten Port nicht sauber schließen, sodas ich das aktive SSH Fenster schloss, da mit STRG + C das Programm sich nicht beenden lies. Anschließend loggte ich mich in der Administrationsoberfläche als Administrator ein und starte das System neu. Bei mir ertönt ein Signal wenn das System Arbeitsbereit ist und somit loggte ich mich ein und prüfte meine Änderung und nach dem ich meine Logindaten entsprechend angab erschien rechter Hand
Rich (BBCode):
Datenbank-Server
Server: Localhost via UNIX socket
Software: MySQL
Software-Version: 5.1.49 - Source distribution
Protokoll-Version: 10
Benutzer: root@localhost
Server Zeichensatz: UTF-8 Unicode (utf8)
Es hat geklappt und nun habe ich alles wieder gerettet ohne mir aufwendig die Nutzer anzulegen, Passwörter aus jeder Config zu kopieren und die Rechte zuzuweisen.
Ich hoffe ich kann jemanden bei Gelegenheit damit helfen. So jetzt erstmal schlafen..
Grüße