Ich musste ein mysqldump *.sql database backup file in eine neue database einlesen. Dabei stellte ich fest, dass irgendwann vorher Daten verloren gingen. Bei was genau weiß ich nicht mehr, es war vor einer Woche. In letzter Zeit habe ich viel an der Datenbank optimiert, ein Altbestand. Neu strukturiert und weiß der Geier nicht alles. Einerseits per PHP Daten von einer in die andere, andererseits mit phpMyAdmin, je nachdem. Die Daten gingen wohl verloren, weil:
Im Dump ist das in der betreffenden column eingetragen:
Nach dem Einlesen des Dumps:
SHOW FIELDS FROM database;
Die column ist schon einige Zeit länger "mediumtext".
Nach dem Einlesen ist die column nur "text" und lange texte sind nicht abgeschnitten. Mit einer manuellen Umstellung per phpMyAdmin ist die Sache schnell gefixt, jetzt nachdem ich davon weiß. Die Daten gingen wohl verloren, als aus einer ebenso angelegten neuen database mit nur "text" in der betreffenden column ein weiterer Dump angelegt wurde, in dem dann lange Texte abgeschnitten wurden. Es besteht aktuell das Problem, dass beim Einlesen eines Dumps mit
diese column nur als "text" angelegt wird. Woran kann das liegen und was kann man dagegen tun?
Folgende Befehle wurden/werden verwendet:
mysql Ver 15.1 Distrib 10.3.22-MariaDB, for Linux (x86_64) using readline 5.1
mysqldump Ver 10.17 Distrib 10.3.22-MariaDB, for Linux (x86_64)
Im Dump ist das in der betreffenden column eingetragen:
Code:
`column` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
SHOW FIELDS FROM database;
Code:
+------------+------------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +------------+------------------+------+-----+---------+----------------+ | column | text | YES | | NULL | | +------------+------------------+------+-----+---------+----------------+
Nach dem Einlesen ist die column nur "text" und lange texte sind nicht abgeschnitten. Mit einer manuellen Umstellung per phpMyAdmin ist die Sache schnell gefixt, jetzt nachdem ich davon weiß. Die Daten gingen wohl verloren, als aus einer ebenso angelegten neuen database mit nur "text" in der betreffenden column ein weiterer Dump angelegt wurde, in dem dann lange Texte abgeschnitten wurden. Es besteht aktuell das Problem, dass beim Einlesen eines Dumps mit
Code:
`column` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL,
Folgende Befehle wurden/werden verwendet:
Code:
mysqldump database_name > 20200606-database-name.sql mysql database_name < 20200606-database-name.sql mysqldump database_name | mysql database_name_new
mysqldump Ver 10.17 Distrib 10.3.22-MariaDB, for Linux (x86_64)
Kommentar