Seite 1 von 1

MySQL Datenbank mit Tool bearbeiten?

Verfasst: 11.08.2018, 01:23
von Major Tom
Ich bin mit einer meiner Webseiten umgezogen, natürlich habe ich vorher ein Backup erstellt. Beim Import der MySQL Datenbank beim neuen Hoster gab es gleich mehrere Fehlermeldungen. Der Support teilte mir dazu mit:

"...dann müsste man die hier in Frage kommende Datenbank noch einmal neu exportieren beim bisherigen Anbieter mit dem Zusatz: Add DROP TABLE / VIEW / PROCEDURE / FUNCTION..."

Der alte Hoster war allerdings recht schnell und hat die Seite noch am selben Tag vollständig gelöscht. Gibt es irgendein Tool, womit ich die Datenbank bearbeiten und den o.g. Zusatz einfügen kann?


Danke und Gruß

Verfasst:
von

Verfasst: 11.08.2018, 06:46
von Hanzo2012
Deine exportierte Datei (Endung „.sql“) ist eine Textdatei. Das Tool, das du suchst, ist also ein einfacher Texteditor wie Notepad oder Notepad++ ;)

Re: MySQL Datenbank mit Tool bearbeiten?

Verfasst: 11.08.2018, 08:06
von nerd
Major Tom hat geschrieben:...gab es gleich mehrere Fehlermeldungen. ...
und welche?

Verfasst: 11.08.2018, 10:59
von hanneswobus
@tom.
wenn es sich nur um einen zusatz handelt, kannst du mit suchen+ersetzen arbeiten.
gruß

Verfasst: 11.08.2018, 11:06
von hanneswobus
@tom.
wenn es sich nur um einen zusatz handelt, kannst du mit suchen+ersetzen arbeiten.
gruß

Verfasst: 11.08.2018, 21:36
von Major Tom
Erst mal Danke für die Hilfe. Hier habe ich die DB, vielleicht mag ja mal jemand reinschauen?

https://www.link-team.de/dokumente/i4437386_wp2.sql.gz

Und hier die Fehlermeldung:


Warning in ./libraries/dbi/DBIMysqli.php#202
> mysqli_query(): MySQL server has gone away
>
> Backtrace
>
> ./libraries/dbi/DBIMysqli.php#202: mysqli_query(
> ,
> string ' SELECT tracking_active FROM `phpmyadmin`.`pma__tracking` WHERE db_name =
> \'web47_db1\' AND table_name = \'wp_revslider_css\' ORDER BY version DESC LIMIT
> 1',
> integer 0,
> )
> ./libraries/DatabaseInterface.php#267: PMA\libraries\dbi\DBIMysqli->realQuery(
> string ' SELECT tracking_active FROM `phpmyadmin`.`pma__tracking` WHERE db_name =
> \'web47_db1\' AND table_name = \'wp_revslider_css\' ORDER BY version DESC LIMIT
> 1',
> ,
> integer 1,
> )
> ./libraries/DatabaseInterface.php#1479: PMA\libraries\DatabaseInterface->tryQuery(
> string ' SELECT tracking_active FROM `phpmyadmin`.`pma__tracking` WHERE db_name =
> \'web47_db1\' AND table_name = \'wp_revslider_css\' ORDER BY version DESC LIMIT
> 1',
> ,
> integer 1,
> boolean false,
> )
> ./libraries/Tracker.php#139: PMA\libraries\DatabaseInterface->fetchValue(
> string ' SELECT tracking_active FROM `phpmyadmin`.`pma__tracking` WHERE db_name =
> \'web47_db1\' AND table_name = \'wp_revslider_css\' ORDER BY version DESC LIMIT
> 1',
> integer 0,
> integer 0,
> ,
> )
> ./libraries/Tracker.php#793: PMA\libraries\Tracker::isTracked(
> string 'web47_db1',
> string 'wp_revslider_css',
> )
> ./libraries/DatabaseInterface.php#288: PMA\libraries\Tracker::handleQuery(string
> '-- -- Table structure for table `wp_revslider_css` -- DROP TABLE IF EXISTS
> `wp_revslider_css`')
> ./libraries/import.lib.php#64: PMA\libraries\DatabaseInterface->tryQuery(string
> '-- -- Table structure for table `wp_revslider_css` -- DROP TABLE IF EXISTS
> `wp_revslider_css`')
> ./libraries/import.lib.php#225: PMA_executeQuery(
> string '-- -- Table structure for table `wp_revslider_css` -- DROP TABLE IF EXISTS
> `wp_revslider_css`',
> string '-- -- Table structure for table `wp_revslider_css` -- DROP TABLE IF EXISTS
> `wp_revslider_css`',
> array,
> )
> ./libraries/plugins/import/ImportSql.php#157: PMA_importRunQuery(
> string '/*!40101 SET @saved_cs_client = @@character_set_client */',
> string '/*!40101 SET @saved_cs_client = @@character_set_client */',
> array,
> )
> ./import.php#536: PMA\libraries\plugins\import\ImportSql->doImport(array)
> Warning in ./libraries/dbi/DBIMysqli.php#202
> mysqli_query(): Error reading result set's header
>
> Backtrace
>
> ./libraries/dbi/DBIMysqli.php#202: mysqli_query(
> ,
> string ' SELECT tracking_active FROM `phpmyadmin`.`pma__tracking` WHERE db_name =
> \'web47_db1\' AND table_name = \'wp_revslider_css\' ORDER BY version DESC LIMIT
> 1',
> integer 0,
> )
> ./libraries/DatabaseInterface.php#267: PMA\libraries\dbi\DBIMysqli->realQuery(
> string ' SELECT tracking_active FROM `phpmyadmin`.`pma__tracking` WHERE db_name =
> \'web47_db1\' AND table_name = \'wp_revslider_css\' ORDER BY version DESC LIMIT
> 1',
> ,
> integer 1,
> )
> ./libraries/DatabaseInterface.php#1479: PMA\libraries\DatabaseInterface->tryQuery(
> string ' SELECT tracking_active FROM `phpmyadmin`.`pma__tracking` WHERE db_name =
> \'web47_db1\' AND table_name = \'wp_revslider_css\' ORDER BY version DESC LIMIT
> 1',
> ,
> integer 1,
> boolean false,
> )
> ./libraries/Tracker.php#139: PMA\libraries\DatabaseInterface->fetchValue(
> string ' SELECT tracking_active FROM `phpmyadmin`.`pma__tracking` WHERE db_name =
> \'web47_db1\' AND table_name = \'wp_revslider_css\' ORDER BY version DESC LIMIT
> 1',
> integer 0,
> integer 0,
> ,
> )
> ./libraries/Tracker.php#793: PMA\libraries\Tracker::isTracked(
> string 'web47_db1',
> string 'wp_revslider_css',
> )
> ./libraries/DatabaseInterface.php#288: PMA\libraries\Tracker::handleQuery(string
> '-- -- Table structure for table `wp_revslider_css` -- DROP TABLE IF EXISTS
> `wp_revslider_css`')
> ./libraries/import.lib.php#64: PMA\libraries\DatabaseInterface->tryQuery(string
> '-- -- Table structure for table `wp_revslider_css` -- DROP TABLE IF EXISTS
> `wp_revslider_css`')
> ./libraries/import.lib.php#225: PMA_executeQuery(
> string '-- -- Table structure for table `wp_revslider_css` -- DROP TABLE IF EXISTS
> `wp_revslider_css`',
> string '-- -- Table structure for table `wp_revslider_css` -- DROP TABLE IF EXISTS
> `wp_revslider_css`',
> array,
> )
> ./libraries/plugins/import/ImportSql.php#157: PMA_importRunQuery(
> string '/*!40101 SET @saved_cs_client = @@character_set_client */',
> string '/*!40101 SET @saved_cs_client = @@character_set_client */',
> array,
> )
> ./import.php#536: PMA\libraries\plugins\import\ImportSql->doImport(array)

Und die vorab schon geschrieben, dies meinte der neue Hoster dazu:

"...dann müsste man die hier in Frage kommende Datenbank noch einmal neu exportieren beim bisherigen Anbieter mit dem Zusatz: Add DROP TABLE / VIEW / PROCEDURE / FUNCTION..."

Viele Grüße


Thomas

Verfasst: 12.08.2018, 08:35
von Hanzo2012
Der Hoster hat offenbar keine Ahnung.
Wenn du bei Google nach „mysql server has gone away import“ suchst, findest du zahlreiche Infos darüber, was du tun kannst.

Verfasst: 12.08.2018, 10:34
von codemonk
Sehe ich wie Hanzo ...

Vermutlich ist das Importvolumen (bez. der Konfiguration des Hosters) schlicht zu gross, als Workaround empfehle ich MySQLDumper

Verfasst: 12.08.2018, 11:18
von nerd
codemonk hat geschrieben:Sehe ich wie Hanzo ...

Vermutlich ist das Importvolumen (bez. der Konfiguration des Hosters) schlicht zu gross, als Workaround empfehle ich MySQLDumper
warum nicht einfach wie navicat und ssh die daten direkt importieren, statt ueber phpmyadmin files hin und herzuschieben..?

Verfasst: 12.08.2018, 11:26
von codemonk
MySQLDumper nutzt kein phpmyadmin und lässt sich auch auf restriktiven Webhosting-Konfigurationen einsetzen. Wenn der Hoster es denn zulässt, sind auch viele andere Lösungen denkbar ...

Verfasst: 14.08.2018, 22:40
von Major Tom
Kurzes Feedback: Ich habe dem Hoster mal ein paar Argumente von Euch zugesendet, jetzt will er versuchen die DB selbst zu importieren. Geht also, man muss nur wollen :)


Gruß Tom

Verfasst: 15.08.2018, 07:20
von staticweb
Add DROP TABLE / VIEW / PROCEDURE / FUNCTION..." benötigst du nur wenn du vorhandene Tabellen, ... überschreiben willst. Was ja hier wohl nicht zutrifft.

Suche dir besser einen anderen Hoster wenn es mit dem Support nicht stimmt. Obwohl ich hier die Vermutung habe, dass es keinen direkten Kontakt mit der technischen Abteilung gibt.

Verfasst: 15.08.2018, 11:07
von nerd
staticweb hat geschrieben:Suche dir besser einen anderen Hoster wenn es mit dem Support nicht stimmt. Obwohl ich hier die Vermutung habe, dass es keinen direkten Kontakt mit der technischen Abteilung gibt.
Die fehlermeldungen waren ein roter hering; ich hab das file mal testweise importiert. Wenn man beim import "SET AUTOCOMMIT=0" abschaltet laeuft der import auch durch.
Die meldung "mysql server has gone away" kommt erst nachdem das importscript schon halb durchgelaufen ist und den autocommit befehl ausfuehren soll.

Allerdings sollte man sowas ja schon selber koennen statt den support mit sowas zu belaestigen (und dann stundenlang auf antwort zu warten).

Verfasst: 15.08.2018, 11:30
von staticweb
> Die fehlermeldungen waren ein roter hering; ich hab das file mal testweise importiert. Wenn man beim import "SET AUTOCOMMIT=0" abschaltet laeuft der import auch durch.

Ich hätte jetzt nicht gedacht, dass Transaktionen beim Import überhaupt benutzt werden.

Das Problem ist doch hier aber warum die DB beim Import die Verbindung verliert!

Es könnte sein, dass mit AUTOCOMMIT=0 reconnect Probleme behoben bzw. umgangen werden.

Verfasst: 17.08.2018, 00:14
von nerd
staticweb hat geschrieben:Das Problem ist doch hier aber warum die DB beim Import die Verbindung verliert!
Das passiert bei mysql manchmal, wenn es in eine situation kommt wo die mysql konfiguration mit den empfangenen daten nicht klarkommt. Also z.b. wenn du ein packet schickst was groesser ist als "max_allowed_packet" erlaubt, oder irgend etwas anderes machst was laut config nicht passieren sollte.

Wobei ich jetzt auch nicht genau weiss in welcher situation du einen verbindungsabbruch bekommst, und wann es eine normale fehlermeldung gibt ... ¯\_(ツ)_/¯