Import MariaDB (mySQL) zu groß?

Irgendwelche Probleme mit XAMPP für Windows? Dann ist hier genau der richtige Ort um nachzufragen.

Import MariaDB (mySQL) zu groß?

Postby glitch » 10. September 2021 19:26

Hallo,
ich versuche meine gesicherte MariaDB zu importieren doch es klappt nicht und ich kriege die Meldung:
"phpMyAdmin - Fehler
Incorrect format parameter"

Ich habe nach dieser Anleitung versucht den Fehler zu beheben doch es hat nicht geklappt:
https://huyhoa.net/en/fix-phpmyadmin-error-incorrect-format-parameter/
glitch
 
Posts: 9
Joined: 10. September 2021 18:18
XAMPP version: 3.3.0
Operating System: Windows 10 pro

Re: Import MariaDB (mySQL) zu groß?

Postby Nobbie » 10. September 2021 20:38

Ich habe auch regelmäßig Probleme, via PhpMyAdmin Backups wieder einzuspielen. In aller Regel geht das um Welten besser (u.a. auch schneller) in einem Terminal. Der ganz große Vorteil ist, dass man PHP an sich umgeht.

Beschreibe doch mal bitte, was für ein Backup Du hast, also was für eine Datei o.ä. das ist? Je nachdem arbeiten wir hier ein Kommando aus, mit dem Du diese Datei in Deine Datenbanken einspielen kannst.
Nobbie
 
Posts: 12182
Joined: 09. March 2008 13:04

Re: Import MariaDB (mySQL) zu groß?

Postby glitch » 14. September 2021 08:23

Nobbie wrote:Beschreibe doch mal bitte, was für ein Backup Du hast, also was für eine Datei o.ä. das ist? Je nachdem arbeiten wir hier ein Kommando aus, mit dem Du diese Datei in Deine Datenbanken einspielen kannst.


Moin Nobbie!
Entschuldige, ich war übers WE bis gestern verreist.

Die Datei ist ein 7,8 GB großes sql (bilder, videos etc. darin) file.
glitch
 
Posts: 9
Joined: 10. September 2021 18:18
XAMPP version: 3.3.0
Operating System: Windows 10 pro

Re: Import MariaDB (mySQL) zu groß?

Postby Nobbie » 14. September 2021 09:36

Wechsele in einem Terminal (cmd.exe) in das Verzeichnis, wo das Backup liegt und führe diesen Befehl aus:

C:/xampp/bin/mysql.exe - u root datenbankname <backup.sql

wobei "datenbankname" der Name der gesicherten Datenbank ist. Ggf. musst Du die vorher in Phpmyadmin erst anlegen, das kann ich von hier aus nicht sagen, vielliecht ist diese Information in der Backupdatei enthalten (meistens aber nicht). Und backup.sql musst Du auch durch den richtigen Namen ersetzen. Wenn es gut geht, läuft das eine Weile und dann sind die Daten wieder hergestellt, das könntest Du anschliessend in Phpmyadmin überprüfen.

Wenn ich das richtig verstanden habe, sind in der Datenbank auch Fotos und Videos gespeichert. Davon kann kann ich nur nachhaltig abraten, das hat massive Nachteile zur Laufzeit und bläht Datenbankzugriffe extrem auf. Stattdessen sollte man solche binären Daten besser ins Dateisystem auslagern und in der Datenbank nur die Pfad/Dateinamen speichern.
Nobbie
 
Posts: 12182
Joined: 09. March 2008 13:04

Re: Import MariaDB (mySQL) zu groß?

Postby glitch » 15. September 2021 12:29

Nobbie wrote:Wechsele in einem Terminal (cmd.exe) in das Verzeichnis, wo das Backup liegt und führe diesen Befehl aus:

C:/xampp/bin/mysql.exe - u root datenbankname <backup.sql


Leider habe ich keine "mysql.exe" Datei darin. Nur "mysql_start.bat" und "mysql_stop.bat" Dateien sowie ein Verzeichnis "mysql". Doch direkt ist auch keine mysql.exe Datei. Erst in dem Unterverzeichnis mysql\bin -> c:\Program Files\xampp\mysql\bin\mysql.exe

Soll ich die nehmen?
glitch
 
Posts: 9
Joined: 10. September 2021 18:18
XAMPP version: 3.3.0
Operating System: Windows 10 pro

Re: Import MariaDB (mySQL) zu groß?

Postby Nobbie » 15. September 2021 17:45

Ja, ich dachte, die wäre auch im allgemeinen bin-Verzeichnis. Ich habe kein Windows hier.

P.S.: Es ist übrigens auch eine sehr schlechte Idee, Xampp nach "Program Files" zu installieren. Da ist eine Leerstelle im Namen und es wird im Readme darauf hingeweisen, dass es manche Optionen gibt, die damit nicht funktionieren.
Nobbie
 
Posts: 12182
Joined: 09. March 2008 13:04

Re: Import MariaDB (mySQL) zu groß?

Postby glitch » 16. September 2021 00:36

Hallo Nobbie,
ich habs jetzt direkt auf C: installiert.

Dennoch kommt folgendes raus:
Code: Select all
C:\xampp>mysql\bin\mysql.exe -u root newdb G:\datenbanken\meinedb.sql
mysql\bin\mysql.exe  Ver 15.1 Distrib 10.4.21-MariaDB, for Win64 (AMD64), source revision 4904b0fda91ce6dc169cd2322dcf966a2deafed8
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Usage: mysql\bin\mysql.exe [OPTIONS] [database]

Default options are read from the following files in the given order:
C:\WINDOWS\my.ini C:\WINDOWS\my.cnf C:\my.ini C:\my.cnf C:\xampp\mysql\my.ini C:\xampp\mysql\my.cnf C:\xampp\mysql\data\my.ini C:\xampp\mysql\data\my.cnf
The following groups are read: mysql mariadb-client client client-server client-mariadb
The following options may be given as the first argument:
--print-defaults          Print the program argument list and exit.
--no-defaults             Don't read default options from any option file.
The following specify which files/extra groups are read (specified before remaining options):
--defaults-file=#         Only read default options from the given file #.
--defaults-extra-file=#   Read this file after the global files are read.
--defaults-group-suffix=# Additionally read default groups with # appended as a suffix.

  -?, --help          Display this help and exit.
  -I, --help          Synonym for -?
  --abort-source-on-error
                      Abort 'source filename' operations in case of errors
  --auto-rehash       Enable automatic rehashing. One doesn't need to use
                      'rehash' to get table and field completion, but startup
                      and reconnecting may take a longer time. Disable with
                      --disable-auto-rehash.
                      (Defaults to on; use --skip-auto-rehash to disable.)
  -A, --no-auto-rehash
                      No automatic rehashing. One has to use 'rehash' to get
                      table and field completion. This gives a quicker start of
                      mysql and disables rehashing on reconnect.
  --auto-vertical-output
                      Automatically switch to vertical output mode if the
                      result is wider than the terminal width.
  -B, --batch         Don't use history file. Disable interactive behavior.
                      (Enables --silent.)
  --binary-as-hex     Print binary data as hex
  --character-sets-dir=name
                      Directory for character set files.
  --column-type-info  Display column type information.
  -c, --comments      Preserve comments. Send comments to the server. The
                      default is --skip-comments (discard comments), enable
                      with --comments.
  -C, --compress      Use compression in server/client protocol.
  -#, --debug[=#]     This is a non-debug version. Catch this and exit.
  --debug-check       Check memory and open file usage at exit.
  -T, --debug-info    Print some debug info at exit.
  -D, --database=name Database to use.
  --default-character-set=name
                      Set the default character set.
  --delimiter=name    Delimiter to be used.
  -e, --execute=name  Execute command and quit. (Disables --force and history
                      file.)
  -E, --vertical      Print the output of a query (rows) vertically.
  -f, --force         Continue even if we get an SQL error. Sets
                      abort-source-on-error to 0
  -G, --named-commands
                      Enable named commands. Named commands mean this program's
                      internal commands; see mysql> help . When enabled, the
                      named commands can be used from any line of the query,
                      otherwise only from the first line, before an enter.
                      Disable with --disable-named-commands. This option is
                      disabled by default.
  -i, --ignore-spaces Ignore space after function names.
  --init-command=name SQL Command to execute when connecting to MariaDB server.
                      Will automatically be re-executed when reconnecting.
  --local-infile      Enable/disable LOAD DATA LOCAL INFILE.
  -b, --no-beep       Turn off beep on error.
  -h, --host=name     Connect to host.
  -H, --html          Produce HTML output.
  -X, --xml           Produce XML output.
  --line-numbers      Write line numbers for errors.
                      (Defaults to on; use --skip-line-numbers to disable.)
  -L, --skip-line-numbers
                      Don't write line number for errors.
  -n, --unbuffered    Flush buffer after each query.
  --column-names      Write column names in results.
                      (Defaults to on; use --skip-column-names to disable.)
  -N, --skip-column-names
                      Don't write column names in results.
  --sigint-ignore     Ignore SIGINT (CTRL-C).
  -o, --one-database  Ignore statements except those that occur while the
                      default database is the one named at the command line.
  -p, --password[=name]
                      Password to use when connecting to server. If password is
                      not given it's asked from the tty.
  -W, --pipe          Use named pipes to connect to server.
  -P, --port=#        Port number to use for connection or 0 for default to, in
                      order of preference, my.cnf, $MYSQL_TCP_PORT,
                      /etc/services, built-in default (3306).
  --progress-reports  Get progress reports for long running commands (like
                      ALTER TABLE)
                      (Defaults to on; use --skip-progress-reports to disable.)
  --prompt=name       Set the command line prompt to this value.
  --protocol=name     The protocol to use for connection (tcp, socket, pipe).
  -q, --quick         Don't cache result, print it row by row. This may slow
                      down the server if the output is suspended. Doesn't use
                      history file.
  -r, --raw           Write fields without conversion. Used with --batch.
  --reconnect         Reconnect if the connection is lost. Disable with
                      --disable-reconnect. This option is enabled by default.
                      (Defaults to on; use --skip-reconnect to disable.)
  -s, --silent        Be more silent. Print results with a tab as separator,
                      each row on new line.
  -S, --socket=name   The socket file to use for connection.
  --ssl               Enable SSL for connection (automatically enabled with
                      other flags).
  --ssl-ca=name       CA file in PEM format (check OpenSSL docs, implies
                      --ssl).
  --ssl-capath=name   CA directory (check OpenSSL docs, implies --ssl).
  --ssl-cert=name     X509 cert in PEM format (implies --ssl).
  --ssl-cipher=name   SSL cipher to use (implies --ssl).
  --ssl-key=name      X509 key in PEM format (implies --ssl).
  --ssl-crl=name      Certificate revocation list (implies --ssl).
  --ssl-crlpath=name  Certificate revocation list path (implies --ssl).
  --tls-version=name  TLS protocol version for secure connection.
  --ssl-verify-server-cert
                      Verify server's "Common Name" in its cert against
                      hostname used when connecting. This option is disabled by
                      default.
  -t, --table         Output in table format.
  --tee=name          Append everything into outfile. See interactive help (\h)
                      also. Does not work in batch mode. Disable with
                      --disable-tee. This option is disabled by default.
  -u, --user=name     User for login if not current user.
  -U, --safe-updates  Only allow UPDATE and DELETE that uses keys.
  -U, --i-am-a-dummy  Synonym for option --safe-updates, -U.
  -v, --verbose       Write more. (-v -v -v gives the table output format).
  -V, --version       Output version information and exit.
  -w, --wait          Wait and retry if connection is down.
  --connect-timeout=# Number of seconds before connection timeout.
  --max-allowed-packet=#
                      The maximum packet length to send to or receive from
                      server.
  --net-buffer-length=#
                      The buffer size for TCP/IP and socket communication.
  --select-limit=#    Automatic limit for SELECT when using --safe-updates.
  --max-join-size=#   Automatic limit for rows in a join when using
                      --safe-updates.
  --secure-auth       Refuse client connecting to server if it uses old
                      (pre-4.1.1) protocol.
  --server-arg=name   Send embedded server this as a parameter.
  --show-warnings     Show warnings after every statement.
  --plugin-dir=name   Directory for client-side plugins.
  --default-auth=name Default authentication client-side plugin to use.
  --binary-mode       By default, ASCII '\0' is disallowed and '\r\n' is
                      translated to '\n'. This switch turns off both features,
                      and also turns off parsing of all clientcommands except
                      \C and DELIMITER, in non-interactive mode (for input
                      piped to mysql or loaded using the 'source' command).
                      This is necessary when processing output from mysqlbinlog
                      that may contain blobs.
  --connect-expired-password
                      Notify the server that this client is prepared to handle
                      expired password sandbox mode even if --batch was
                      specified.

Variables (--variable-name=value)
and boolean options {FALSE|TRUE}  Value (after reading options)
--------------------------------- ----------------------------------------
abort-source-on-error             FALSE
auto-rehash                       TRUE
auto-vertical-output              FALSE
binary-as-hex                     FALSE
character-sets-dir                (No default value)
column-type-info                  FALSE
comments                          FALSE
compress                          FALSE
debug-check                       FALSE
debug-info                        FALSE
database                          (No default value)
default-character-set             auto
delimiter                         ;
vertical                          FALSE
force                             FALSE
named-commands                    FALSE
ignore-spaces                     FALSE
init-command                      (No default value)
local-infile                      FALSE
no-beep                           FALSE
host                              (No default value)
html                              FALSE
xml                               FALSE
line-numbers                      TRUE
unbuffered                        FALSE
column-names                      TRUE
sigint-ignore                     FALSE
port                              0
progress-reports                  TRUE
prompt                            \N [\d]>
protocol
quick                             FALSE
raw                               FALSE
reconnect                         TRUE
socket                            (No default value)
ssl                               FALSE
ssl-ca                            (No default value)
ssl-capath                        (No default value)
ssl-cert                          (No default value)
ssl-cipher                        (No default value)
ssl-key                           (No default value)
ssl-crl                           (No default value)
ssl-crlpath                       (No default value)
tls-version                       (No default value)
ssl-verify-server-cert            FALSE
table                             FALSE
user                              root
safe-updates                      FALSE
i-am-a-dummy                      FALSE
connect-timeout                   0
max-allowed-packet                16777216
net-buffer-length                 16384
select-limit                      1000
max-join-size                     1000000
secure-auth                       FALSE
show-warnings                     FALSE
plugin-dir                        (No default value)
default-auth                      (No default value)
binary-mode                       FALSE
connect-expired-password          FALSE

C:\xampp>


Vorher habe ich mit MySQL - phpMyAdmin eine neue und leere Datenbank "newdb" erstellt.
glitch
 
Posts: 9
Joined: 10. September 2021 18:18
XAMPP version: 3.3.0
Operating System: Windows 10 pro

Re: Import MariaDB (mySQL) zu groß?

Postby Altrea » 16. September 2021 06:42

Hi,

Das "kleiner als" Zeichen (<) in Nobbies Beispiel ist wichtig. Das kannst du nicht einfach weglassen :D
We don't provide any support via personal channels like PM, email, Skype, TeamViewer!

It's like porn for programmers 8)
User avatar
Altrea
AF Moderator
 
Posts: 11194
Joined: 17. August 2009 13:05
XAMPP version: several
Operating System: Windows 10 Pro x64

Re: Import MariaDB (mySQL) zu groß?

Postby glitch » 16. September 2021 09:31

Alles klar Altrea. Danke für den Hinweis.

Nu lief es etwas und dann kam plötzlich folgender Fehler:
Code: Select all
ERROR 1064 (42000) at line 2957390: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ''{\"info\":{\"ip\":\"0.0.0.0\",\"user_agent\":\"Mozilla50 compatible SemrushB...' at line 3
glitch
 
Posts: 9
Joined: 10. September 2021 18:18
XAMPP version: 3.3.0
Operating System: Windows 10 pro

Re: Import MariaDB (mySQL) zu groß?

Postby Nobbie » 16. September 2021 10:09

Jetzt hast Du natürlich ein richtiges Problem, entweder wurde beim Backup etwas falsch gemacht oder es stammt von einem nicht mehr kompatiblen Release. Da müsste man jetzt mehr über das Backup wissen, wo war das installiert, mit welchen Releases von MySql lief es und wie wurde es erstellt. Ausserdem brauchen wir einen grösseren Ausschnitt der fehlerhaften Stelle, hier kann man die genaue Fehlerursache nicht sehen.

Jetzt schon rächt es sich, dass da Binärdaten im Backup sind, das erschwert es sehr, mal mit einem Editor reinzuschauen. Deine Systemkenntnisse sind ja zugegebenermassen nicht sehr gross, wenn wir es überhaupt hinkriegen sollen, müsstest Du mir das Backup zur Verfügung stellen. Du müsstest es packen (Zip o.ä.) und dann irgendwo zum Download anbieten.

Gibt es ausserdem vielleicht noch irgendwo eine Installation, dass man ggf. ein neues Backup machen kann? Und was ist das überhaupt?

P.S.: Du kannst auch versuchen, in dem Kommando noch die Option "-f" anzugeben, noch vor dem Datenbanknamen, etwa so:

mysql.exe -u root -f datenbankname ..... usw.

Dann bricht der Import bei Fehlern nicht ab. Allerdings fehlen dann nachher Daten, ist nur die Frage ob das wichtige Daten sind. Der Ausschnitt sieht so aus, als wenn das nur Logdaten sind o.ä.. Das musst Du dann ausprobieren. Ggf. musst Du vor einem neuen Versuch die Datenbank löschen und neu anlegen, weil ggf. Fragmente angelegt wurden. Bei vielen Backups werden die zwar automatisch entsorgt, aber ich kann das von hier aus nicht sehen.
Nobbie
 
Posts: 12182
Joined: 09. March 2008 13:04

Re: Import MariaDB (mySQL) zu groß?

Postby glitch » 16. September 2021 12:01

Ok, ich hatte glüclicherweise noch Zugriff auf den webspace und habe festgestellt, dass eine Tabelle mit "sessions" und noch eine mit "optins" voll waren. Es waren also keine Bilder oder Videos wie ich vermutete, sondern temporäre Dateien. Jetzt konnte ich die DB importieren.

Doch wie rufe ich meine Seite auf?

Ich habe versucht mit:
Code: Select all
localhost
localhost/seitenname
localhost/seitenname/index.php


Beim letzten kommt raus:
Code: Select all
Error: Failed to start application: Failed to start the session


Wobei "seitenname" für den Namen des Verzeichnisses steht der unter htdocs erstellt wurde und wo alle Dateien vom backup drinne sind.

Die Seite läuft auf joomla 3.x
glitch
 
Posts: 9
Joined: 10. September 2021 18:18
XAMPP version: 3.3.0
Operating System: Windows 10 pro

Re: Import MariaDB (mySQL) zu groß?

Postby Nobbie » 16. September 2021 14:59

Wie sollen wir denn wissen, wie Du die Seite aufrufst? Ich vermute sowieso, dass sie in diesem Zustand jetzt so gar nicht läuft. Wenn sie im Internet unter einem bestimmten Domainnamen lief (sicherlich NICHT "localhost"), dann musst Du entweder in Joomla irgendwelche Konfigurationen anpassen, oder (was ich eigentlich bevorzuge), den Domainnamen aus dem Internet auf Deinem Rechner abbilden.

Aber auch so müssen wir erst einmal wissen, was Du bisher gemacht hast. Nur die Datenbanken exportieren und importieren reicht natürlich überhaupt nicht. Was hast Du noch gemacht?

Und wie hieß/heißt die Originalseite im Internet? Und wie genau hast Du die Seite im Internet aufgerufen?

Außerdem muss sicherlich auch noch die Konfiguration für die Datenbank angepasst werden, von alleine findet Joomla die nicht.
Nobbie
 
Posts: 12182
Joined: 09. March 2008 13:04

Re: Import MariaDB (mySQL) zu groß?

Postby glitch » 16. September 2021 22:22

Also, folgendes habe ich bisher gemacht.

1. Via FTP die gesamten Website Dateien runtergeladen
2. Die Datenbank exportiert (MariaDB bei one.com) - jetzt allerdings schon vorher die Tabellen mit den "sessions" und "opitns" geleert wodurch sie jetzt nur noch 40MB groß ist (ein Wunder ist geschehen!) statt über 7GB
3. xampp als administrator auf windows 10 auf c:\ installiert (C:\xampp)
4. xampp als administrator gestartet und Apache sowie MySQL installiert
5. unter C:\xampp\htdocs\ das Verzeichis "kangoo9341" erstellt und die via FTP heruntergeladenen Website dort kopiert
6. bei phpMyAdmin eine neue Tabelle "kangoo9341" erstellt
7. die Datenbank wie von dir beschrieben über das Terminal importiert
Code: Select all
C:\xampp>mysql\bin\mysql.exe -u root -f kangoo9341 <G:\datenbanken\kangoo9341.sql

8. versucht über den Browser die website lokal zu starten
Code: Select all
localhost/kangoo9341/index.php


Die Domain kangoo9341.net existiert schon länger nicht mehr.
glitch
 
Posts: 9
Joined: 10. September 2021 18:18
XAMPP version: 3.3.0
Operating System: Windows 10 pro

Re: Import MariaDB (mySQL) zu groß?

Postby Nobbie » 17. September 2021 10:04

Ich habe mal nachgeschaut, bei Joomla ist es anscheinend egal, unter welchem Domainnamen es läuft, das braucht in keiner Konfiguration angegeben zu werden. Aber die Daten für den Datenbankzugriff müssen in der Datei configuration.php angepasst werden. Editiere die Datei und gib den Datenbanknamen an (ist wahrscheinlich noch der gleiche), als User "roor" und Password ist leer.

Alternativ könnte man die vorhandene configuration.php so lassen und stattdessen in Phpmyadmin einen neuen User mit Passwort wie in configuration.php vorgegeben anlegen, dieser sollte alle Rechte bekommen. Das ist allerdings etwas aufwändiger als die obige Variante.

Und dann nochmal probieren.

P.S.: In configuration.php gibt es auch 2 Einträge, in welchem Verzeichnis log-Daten und temp- Daten abgespeichert werden. Da steht sicher auch irgendeine ungültige Angabe, da musst Du zwei Verzeichnisse aus deinem PC angeben, die kannst Du auch noch selbst anlegen. Insgesamt google auch mal nach "Serverumzug Joomla", so mache ich das selbst auch. Eigentlich ist das hier auch kein Joomla Support Forum, aber jetzt sollte es auch langsam laufen.
Nobbie
 
Posts: 12182
Joined: 09. March 2008 13:04

Re: Import MariaDB (mySQL) zu groß?

Postby Nobbie » 17. September 2021 17:57

Ups, Dreckfuhler:

als User "roor" und Password ist leer.


Ist natürlich User "root" gemeint.
Nobbie
 
Posts: 12182
Joined: 09. March 2008 13:04


Return to XAMPP für Windows

Who is online

Users browsing this forum: No registered users and 24 guests