User:Lilyuserin/WIKI Versionsgeschichte löschen

From Wikimedia Commons, the free media repository
Jump to navigation Jump to search

Contact

Email Usertalk

This is a Wikimedia Commons user page. If you find this page on any site other than Wikimedia Commons, you are viewing a mirror site. Be aware that the page may be outdated, and that the user this page belongs to may have no personal affiliation with any site other than Wikimedia Commons itself. The original page is located at https://commons.wikimedia.org/wiki/User:Lilyuserin/WIKI_Versionsgeschichte_l%C3%B6schen.

العربية  azərbaycanca  беларуская (тарашкевіца)  български  বাংলা  čeština  Deutsch  Deutsch (Sie-Form)  English  Esperanto  español  فارسی  suomi  français  Frysk  galego  עברית  हिन्दी  magyar  հայերեն  Bahasa Indonesia  italiano  日本語  ქართული  한국어  ລາວ  македонски  മലയാളം  Bahasa Melayu  မြန်မာဘာသာ  Nederlands  polski  português  português do Brasil  русский  sicilianu  slovenščina  shqip  svenska  ไทย  Tagalog  Türkçe  українська  Tiếng Việt  简体中文  繁體中文  正體中文(臺灣)  +/−

Wikimedia Commons
Wikimedia Commons

Nicht benötige Versionen löschen

[edit]

In Windows aus der Kommandozeile aufrufen:

Server-Pfad\php\php.exe Server-Pfad\htdocs\Wiki-Verzeichnis\maintenance\deleteOldRevisions.php --delete

direkt im maintenance-Verzeichnis des Wikis (damit ist sichergestellt, dass man nicht versehentlich das falsche Wiki erwischt, falls man mehrere Wikis betreibt):

Server-Pfad\php\php.exe deleteOldRevisions.php --delete

zum Beispiel

c:\wiki\php\php.exe deleteOldRevisions.php --delete

Für Wartungsskripte, die die Datenbank ändern, muss in der LocalSettings.php Datenbankadministrator $wgDBadminpassword und Passwort $wgDBadminpassword gesetzt sein, die normale Angabe $wgDBuser ist dafür nicht hinreichend.

Datenbankgröße reduzieren

[edit]

Folgende Tabellen können der Dokumentation zufolge problemlos geleert werden:

TRUNCATE objectcache;
TRUNCATE l10n_cache;
TRUNCATE pagelinks;
TRUNCATE recentchanges;
TRUNCATE archive;

Folgende Tabellen können vermutlich ohne Beeinträchtigung geleert werden:

TRUNCATE categorylinks;
TRUNCATE templatelinks;
TRUNCATE externallinks;
TRUNCATE log_search;
TRUNCATE logging;

Größenreduktion mittels SQL-Statements

[edit]

Durchführung auf eigene Gefahr, soweit es sich um Datenbankänderungen handelt.

Folgende Situation: Webspace bei einem Provider gemietet, die MaintenanceShell funktioniert nicht und PHP-Skripts lassen sich von der Kommandozeile nicht ausführen. Es besteht kein Interesse, die Bearbeitungsgeschichte zu speichern, die Datenbankgröße soll reduziert werden.

Versionsgeschichte einzelner Seiten entfernen

[edit]

Zunächst die betreffende Seiten löschen und die letzte Version wieder herstellen, dann die Tabelle archive leeren. Dadurch entstehen in der Tabelle text verwaiste Einträge, die nachträglich gelöscht werden müssen.

Verweiste Text-Einträge abfragen
SELECT * FROM text WHERE old_id not in (SELECT DISTINCT rev_text_id FROM revision)
Verweiste Text-Einträge leeren

Zuerst die Tabelle der gelöschten Versionen leeren

TRUNCATE archive;
DELETE FROM text WHERE old_id NOT IN (
   SELECT DISTINCT rev_text_id FROM revision
) ;

Kommentare aus der Versionstabelle löschen

[edit]

Diese Aktion sollte User Brion VIBBER zufolge sicher sein.

UPDATE revision SET rev_comment=''

Usernamen aus der Versionstabelle löschen

[edit]
UPDATE revision SET rev_user_text=''

Updatedatum aus der Versionstabelle löschen

[edit]

Gelöschte Seiten können danach nicht mehr wieder hergestellt werden.

UPDATE Revision SET Rev_Timestamp = '' WHERE Rev_Page = 1

Versionsgeschichte komplett löschen

[edit]
DELETE FROM Revision WHERE Rev_Id NOT IN (SELECT DISTINCT Page_Latest FROM Page);
DELETE FROM Text WHERE Old_Id NOT IN (SELECT DISTINCT Rev_Text_Id FROM Revision);

Alle SQL-Statements zum Kopieren

[edit]
TRUNCATE objectcache;
TRUNCATE l10n_cache;
TRUNCATE pagelinks;
TRUNCATE recentchanges;
TRUNCATE archive;
TRUNCATE categorylinks;
TRUNCATE templatelinks;
TRUNCATE externallinks;
TRUNCATE log_search;
TRUNCATE logging;
DELETE FROM Revision WHERE Rev_Id NOT IN (SELECT DISTINCT Page_Latest FROM Page);
DELETE FROM Text WHERE Old_Id NOT IN (SELECT DISTINCT Rev_Text_Id FROM Revision);
UPDATE Revision
   SET Rev_Comment = '', Rev_User_Text = ''
-- ,Rev_Timestamp = '2000-01-01 00:00:00'
;

Migration eines Wikis auf einen anderen Server/Rechner

[edit]

Grundsätzlich kann das Wiki übertragen werden, indem das Verzeichnis images und die Datenbank kopieren werden.

Wenn die Datenbank zu umfangreich geworden ist, kann sich beim SQL-Import der Datenbank ein Problem ergeben, weil dieser nicht vollständig ist. Die Beschränkungen max_execution_time in der php.ini können einen unerwünschten Abbruch des Imports bewirken.

Nach dem Import muss das Maintenance-Script refreshlinks.php ausgeführt werden.

Schrittweises Vorgehen

[edit]

Anleitung für Windows-Rechner

  1. SQL-Datenbank exportieren (für alle Fälle)
  2. Größe der SQL-Datenbank durch Löschen alter Versionen und Leeren der Linktabellen reduzieren
  3. SQL-Datenbank exportieren
  4. evtl. einzelne Tabellen exportieren
  5. Wiki Unterverzeichnis images auf einen Datenstick kopieren
  6. XAMPP auf neuem Rechner aufsetzen
  7. Wikisoftware in XAMPP-Unterordner htdocs kopieren
  8. SQL-Datenbank anlegen
  9. SQL-Datenbank importieren
  10. falls der Import nicht vollständig ist (Vergleich der Zahl der Datenbanksätze; es müssen auf alle Fälle 52 Tabellen sein V1.30.0), div. Limits erhöhen C:\xampp/php/php.ini (XAMPP Konfiguration)
    post_max_size = 750M
    upload_max_filesize = 750M
    max_execution_time = 5000
    max_input_time = 5000
    memory_limit = 1000M

    in der Datei C:\xampp\mysql\bin\my.ini diese Zeile hinzufügen max_allowed_packet = 200M
    in der Datei config.inc.php (erreichbar über XAMPP Konfiguration) die Zeile $cfg['ExecTimeLimit'] = 300; durch $cfg['ExecTimeLimit'] = 0; ersetzen bzw. einfügen und XAMPP erneut starten
  11. es sollte die Meldung Der Import wurde erfolgreich abgeschlossen, xxx Abfragen wurden ausgeführt. (datenbankname.sql) kommen
  12. Wiki Setup aufrufen
  13. falls Wiki Setup beim Einrichten der Datenbank hängen bleibt, die in der Fehlermeldung bezeichnete Tabelle aus dem Ursprungswiki kopieren (hier ist der Export der einzelnen Tabellen hilfreich)
  14. vor dem ersten Aufruf des Wikis den Ordner images kopieren
  15. oder nur die Bilddateien kopieren
    xcopy C:\xampp\htdocs\wiki\images\*.jpg *.* /k/r/e/i/s/c/h
    xcopy C:\xampp\htdocs\wiki\images\*.png *.* /k/r/e/i/s/c/h
  16. nun sollte das Wiki einsatzbereit sein

Es ist sowieso eine gute Idee, eine Kopie des Wikis auf einem anderen Rechner zu erstellen, damit kann man „gefährliche“ Operationen ausprobieren.

  1. https://www.mediawiki.org/wiki/Manual:Reduce_size_of_the_database#Truncate_the_objectcache_table Truncate the objectcache table]
  2. https://www.mediawiki.org/wiki/Manual:Objectcache_table objectcache table]
  3. https://www.mediawiki.org/wiki/Manual:Pagelinks_table pagelinks table]
  4. https://www.mediawiki.org/wiki/Manual:Recentchanges_table recentchanges table]