Durchsuchbare Dokumentation aufrufen

Zurück zur Dokumentationsübersicht

MySQL-Befehle

In dieser Dokumentation finden Sie eine Sammlung diverser MySQL-Befehle. Die Befehle werden auch mit der Umstellung auf MariaDB weiter unterstützt.

Viele der hier aufgeführten Befehle sind vorwiegend für Kunden interessant, die ältere Versionen von agorum core verwenden und daher noch mit älteren MySQL-Datenbanken arbeiten. Die MySQL-Datenbank hatte eine bestimmte Eigenheit: Wurden Dokumente oder Objekte innerhalb der Datenbank gelöscht, konnte davon ausgegangen werden, dass mehr Speicherplatz vorhanden war. Dieser frei gewordene Platz innerhalb der Datenbank wurde jedoch nicht nach außen hin angezeigt. MySQL wuchs unbeobachtet weiter. Das führte dazu, dass die Datenbank wochenlang nicht größer wurde, bis sie plötzlich rasant anwuchs. Dieses Phänomen führte zu Verunsicherungen.

Nachfolgend sind einige Befehle aufgelistet, mit denen Sie den Inhalt der Datenbank überprüfen können. Auch die Erstellung eines Datenbankdumps half bereits (https://dev.mysql.com/doc/refman/8.0/en/show-table-status.html). Dadurch wurde die tatsächliche Größe der Datenbank erkennbar, und der versteckte, frei gewordene Speicherplatz verlor sich.

Durch die heutzutage vorkommende InnoDB-Einstellung Filesort optimization organisiert sich die Datenbank anders und hält keinen freien Speicherplatz mehr geheim.

Die MySQL-Konsole aufrufen


  1. Geben Sie über cmd folgenden Befehl ein:
    mysql.exe -uroot -p -hroihost --port=3306
    Alternativ finden Sie die Datei mysql.exe (Windows) und mysql oder mysql.sh (Linux) zum Starten der Konsole unter:
    ...\agorum\core\mysql\bin\
    

MySQL-Konsolenbefehle


Die Datenbank wählen

use database roi;

Die Datenbank löschen

drop database roi

Die Datenbank ersetzen

mysql.exe -uroot -p -hlocalhost --port=3306 roi < agorum_core_Tabledef.dmp

Hier wird roi mit agorum_core_Tabledef.dmp ersetzt.

MySQL SELECT-Abfragen


Nachfolgend finden Sie einige MySQL SELECT-Abfragen, mit denen Sie Inhalte von agorum core analysieren können.

SELECT-Abfragen für Dokumente

Unter Dokumente fällt Folgendes:


Die Klasse herausfinden

Prüft, welche Class ID das Objekt hat:

SELECT classid from globalobject where id=9999


Zu indizierende Objekte finden

Zeigt Dateien an, die indiziert werden, und gibt eine Liste von IDs zu indizierender Objekte zurück.

Folgendes existiert:

select * from totextindex where id = 9999;

 

Auflistung der Platzfresser in der Historie

select SUBSTR(a.name,length(a.name)-(INSTR(reverse(a.name),'.')-1)), count(*), sum(b.contentsize)/1024/1024
from 
globalobject a,
fileobject b
where a.id=b.id and a.systemflags & 128 > 0 group by SUBSTR(a.name,length(a.name)-(INSTR(reverse(a.name),'.')-1)) order by 3;


Auflistung der Platzfresser im Mülleimer (nur MySQL)

select SUBSTR(a.name,length(a.name)-(INSTR(reverse(a.name),'.')-1)), count(*), sum(b.contentsize)/1024/1024
from 
globalobject a,
fileobject b
where a.id=b.id and a.expirationdate != 0 group by SUBSTR(a.name,length(a.name)-(INSTR(reverse(a.name),'.')-1)) order by 3;


Platzfresser, die weder im Mülleimer noch in der Historie sind (MySQL)

select SUBSTR(a.name,length(a.name)-(INSTR(reverse(a.name),'.')-1)), count(*), sum(b.contentsize)/1024/1024
from 
globalobject a,
fileobject b
where a.id=b.id and a.expirationdate = 0 and a.systemflags & 128 = 0 group by SUBSTR(a.name,length(a.name)-(INSTR(reverse(a.name),'.')-1)) order by 3;


Dokumente im Mülleimer

Mit diesem SELECT sollten Sie im Regelfall keine E-Mails finden. Falls doch, ändern Sie im SELECT fileobject in folderdocumentobject.

select count(*), sum(b.contentsize)/1024/1024
from 
globalobject a,
fileobject b
where a.id=b.id and a.expirationdate != 0;


Dokumentenversionen (nur Historie)

Mit diesem SELECT sollten Sie im Regelfall keine E-Mails finden. Falls doch, ändern Sie im SELECT fileobject in folderdocumentobject.

select count(*), sum(b.contentsize)/1024/1024
from 
globalobject a,
fileobject b
where a.id=b.id and a.systemflags & 128 > 0;


Summe aller Objekte außer Serverpapierkorb, Historie und E-Mails

Mit diesem SELECT sollten Sie im Regelfall keine E-Mails finden. Falls doch, ändern Sie im SELECT fileobject in folderdocumentobject.
select count(*), sum(b.contentsize)/1024/1024
from 
globalobject a,
fileobject b
where a.id=b.id and a.expirationdate = 0 and a.systemflags & 128 = 0;

SELECT-Abfragen für den Index


Summe Index

select sum(length)/1024/1024 from index_document_t;


Summe der Contenttabellen

select sum(length(content))/1024/1024 from indexedcontentstore;
select sum(length(content))/1024/1024 from nonindexedcontentstore;
select sum(length(content))/1024/1024 from unknownformatcontentstore;


Summe Previews

select sum(a.contentsize)/1024/1024 from fileobject a, previewimage b where a.id=b.id;

SELECT-Abfragen für Dateigrößen


Liste der größten Dateien und E-Mails

select a.name,a.id,b.contentsize/1024/1024 from globalobject a, folderdocumentobject b where a.id=b.id and b.contentsize > 20*1024*1024 order by b.contentsize;
select a.name,a.id,b.contentsize/1024/1024 from globalobject a, fileobject b where a.id=b.id and b.contentsize > 50*1024*1024 order by b.contentsize;

Platzbedarf aufbereitet nach Objekttyp und Serverpapierkorb


JavaScript siehe Statistiken per Faceting