Skip to content

Redis - Datenbanken löschen

Redis
  • Bei meiner Umorganisation, jedes Forum eine eigene DB, habe ich jetzt das kleine Problem gehabt, das in jeder DB beide Datenbanken drin sind. Unschön, das muss man ändern 😉

    Dazu erst mal beide Datenbanken kopiert, da wir hier eine Operation durchführen, die die Daten löscht. Also bitte an Datensicherungen denken!

    Wir wir uns zur DB connecten, kennen wir ja mittlerweile, jede DB läuft auf einem eigenen Port. Also müssen wir uns zwei mal connecten.

    redis-cli -h 10.10.0.155 -p 6379
    redis-cli -h 10.10.0.155 -p 6380
    

    Danach muss man sich so authentifizieren

    AUTH <password>
    

    Ein INFO gibt Euch viele Informationen über die DB, hier das Wichtigste

    INFO
    # Server
    redis_version:6.0.16
    ..
    # Clients
    connected_clients:3
    ..
    # Keyspace
    db0:keys=65947,expires=0,avg_ttl=0
    db1:keys=6791,expires=2894,avg_ttl=73471014
    

    Hier kann man jetzt sehen, das in der Redis-DB zwei Datenbanken gespeichert sind. Ich habe mir vorher alles aufgeschrieben, damit ich nicht durcheinander komme.

    Und weiter geht's. wir wählen die entsprechende DB aus.

    select 0
    

    Danach, löschen wir diese DB.

    FLUSHDB
    

    Danach habe ich wieder ein INFO augeführt

    ..
    # Keyspace
    db1:keys=6791,expires=2894,avg_ttl=74684837
    

    Man sieht, es ist nur noch eine DB vorhanden. Parrallel dazu habe ich das auf dem Server im Dateiverzeichnis beobachtet.

    Vor der Operation

    ls -lha
    insgesamt 74M
    drwxr-x---  2 redis redis 4,0K  7. Nov 08:15 .
    drwxr-xr-x 25 root  root  4,0K  5. Nov 15:39 ..
    -rw-rw----  1 redis redis  37M  7. Nov 08:15 dump.rdb
    -rw-r-----  1 root  root   37M  7. Nov 08:10 dump.rdb_BAK
    

    Danach

    ls -lha
    insgesamt 42M
    drwxr-x---  2 redis redis 4,0K  7. Nov 08:16 .
    drwxr-xr-x 25 root  root  4,0K  5. Nov 15:39 ..
    -rw-rw----  1 redis redis 4,8M  7. Nov 08:16 dump.rdb
    -rw-r-----  1 root  root   37M  7. Nov 08:10 dump.rdb_BAK
    

    Hier kann man jetzt sehen, das die DB Größe auf dem Datenträger sich verändert hat. Es ist nur noch das zweite Forum drin, was deutlich kleiner ist.

    Bitte daran denken, alle Änderungen die man macht passieren im Speicher. Die Datenbank wird nur alle paar Minuten auf den Datenträger geschrieben!

    Es kann also etwas dauern, bis man das also sieht. Danach das Ganze dann noch für die andere DB durchgeführt. Jetzt habe ich zwei Instanzen der Redis-Datenbank mit jeweils eigener DB. Ich erhoffe mir dadurch einen besseren Überblick, eine bessere Wartung und eine bessere Datensicherung.

    Als Nebeneffekt benutzt jetzt jede DB eine eigene CPU, wenn ich die Informationen im Netz richtig verstanden habe. Wobei das in meinem Anwendungsfall keine Bedeutung hat, dafür ist da einfach zu wenig los. Wenn man Foren mit tausenden Benutzern hätte, wäre das vermutlich extrem wichtig.

  • MongoDB - Erste Erfahrungen

    Linux
    2
    +1
    0 Stimmen
    2 Beiträge
    158 Aufrufe
    FrankMF
    So frisch von der MongoDB Front und wieder viel gelernt, weil beim Üben macht man Fehler Oben war ja mongodump & mongorestore von der KI empfohlen. Hier das wie ich es gemacht habe. mongodump frank@redis-stack:~$ mongodump -u frank -p '<password>' --host 192.168.3.9 --authenticationDatabase admin -d portfolio -o mongodump/ 2024-04-06T09:29:25.174+0200 writing portfolio.stockList to mongodump/portfolio/stockList.bson 2024-04-06T09:29:25.175+0200 writing portfolio.users to mongodump/portfolio/users.bson 2024-04-06T09:29:25.175+0200 done dumping portfolio.stockList (8 documents) 2024-04-06T09:29:25.176+0200 writing portfolio.total_sum to mongodump/portfolio/total_sum.bson 2024-04-06T09:29:25.177+0200 done dumping portfolio.total_sum (1 document) 2024-04-06T09:29:25.177+0200 writing portfolio.old_total_sum to mongodump/portfolio/old_total_sum.bson 2024-04-06T09:29:25.177+0200 writing portfolio.stocks to mongodump/portfolio/stocks.bson 2024-04-06T09:29:25.177+0200 done dumping portfolio.users (4 documents) 2024-04-06T09:29:25.178+0200 writing portfolio.settings to mongodump/portfolio/settings.bson 2024-04-06T09:29:25.178+0200 done dumping portfolio.settings (1 document) 2024-04-06T09:29:25.179+0200 done dumping portfolio.old_total_sum (1 document) 2024-04-06T09:29:25.179+0200 done dumping portfolio.stocks (34 documents) mongorestore mongorestore -u frank -p '<password>' --host 192.168.3.9 --authenticationDatabase admin -d portfolio mongodump/meineDatenbank/ Hier wird die Datensicherung mongodump/meineDatenbank/ in die neue Datenbank portfolio transferiert. Grund für das Ganze? Mich hatte der Datenbank Name meineDatenbank gestört. Benutzerrechte Jetzt der Teil wo man schnell was falsch machen kann Ich hatte also die neue Datenbank, konnte sie aber nicht lesen. Fehlten halt die Rechte. Ich hatte dann so was hier gemacht. db.updateUser("frank", { roles: [ { role: "readWrite", db: "meineDatenbank" }, { role: "readWrite", db: "portfolio" }]}) Ging auch prima, kam ein ok zurück. Nun das Problem, ich hatte beim Einrichten, den User frank als admin benutzt. Durch den oben abgesetzten Befehl (frank ist ja admin), wurden die neuen Rechte gesetzt und die Rechte als Admin entzogen!! Das war jetzt nicht wirklich das was ich gebrauchen konnte. LOL Ich hatte jetzt keine Kontrolle mehr über die DB. Das war aber nicht so wirklich kompliziert, das wieder zu ändern. Die Authentication temporär abstellen. Also /etc/mongod.conf editieren und #security: security.authorization: enabled eben mal auskommentieren. Den Daemon neustarten und anmelden an der DB. mongosh --host 192.168.3.9 Danach neuen User anlegen db.createUser({ user: "<name>", pwd: "<password>", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] }) mongod.conf wieder ändern und neustarten. Danach hat man wieder eine DB mit Authentifizierung und einen neuen Admin. Ich bin diesmal, man lernt ja, anders vorgegangen. Es gibt nun einen Admin für die DB und einen User zum Benutzen der Datenbanken! So wie man es auch auf einem produktiven System auch machen würde. Wenn ich jetzt mal was an den Benutzerrechten des Users ändere, kann mir das mit dem Admin nicht mehr passieren. Hoffe ich
  • Plasma 6

    Linux
    1
    +0
    0 Stimmen
    1 Beiträge
    124 Aufrufe
    Niemand hat geantwortet
  • Semaphore - Die API

    Verschoben Ansible
    2
    0 Stimmen
    2 Beiträge
    199 Aufrufe
    FrankMF
    Ich hasse schlecht lesbaren Code, scheint man sich bei Python so anzugewöhnen. Habe da nochmal was mit der langen Zeile getestet. stages: - deploy deploy: stage: deploy script: # $SEMAPHORE_API_TOKEN is stored in gitlab Settings/ CI/CD / Variables - >- curl -v XPOST -H 'Content-Type: application/json' -H 'Accept: application/json' -H "Authorization: Bearer $SEMAPHORE_API_TOKEN " -d '{"template_id": 2}' https://<DOMAIN>/api/project/2/tasks only: - master # Specify the branch to trigger the pipeline (adjust as needed) Hier noch was Dr. ChatGPT dazu schreibt [image: 1692643209159-631de9d4-b04d-4043-bfff-c5f2d1b6eea7-grafik.png] Erledigt - läuft Und verstanden habe ich es auch.
  • PHP Webseite lokal einhängen mit sshfs

    PHP
    1
    +1
    0 Stimmen
    1 Beiträge
    57 Aufrufe
    Niemand hat geantwortet
  • Nextcloud 23.0.3

    Nextcloud
    1
    0 Stimmen
    1 Beiträge
    149 Aufrufe
    Niemand hat geantwortet
  • Linux Mint "Una" Cinnamon 20.3

    Linux
    7
    0 Stimmen
    7 Beiträge
    384 Aufrufe
    FrankMF
    Heute drüber gestolpert, man hat sich auch der alten Version des Thunderbirds angenommen. [image: 1643042911134-0aa9e265-95b3-4de6-a8c8-b23c5b980f09-grafik.png] Damit sind zwei wichtige Programme jetzt hoffentlich immer auf dem aktuellsten Stand.
  • Redis Replication über Wireguard

    Redis
    5
    0 Stimmen
    5 Beiträge
    445 Aufrufe
    K
    spart bischen zeit
  • Restic - Backblaze B2 Cloud Storage

    Restic
    1
    +1
    0 Stimmen
    1 Beiträge
    389 Aufrufe
    Niemand hat geantwortet