Neues in der Kategorie Server

PostgreSQL unter openSUSE-Leap 15.2

da die meisten User sich zwar mit MySQL oder MariaDB auskennen, werde ich heute mal auf PostgreSQL eingehen, wie man dieses Paket installiert und ein paar Kommandos zur Verwaltung einer Datenbank.
PostgeSQL ist von den Kommandos ähnlich wie zum Beispiel MariaDB. Sie wird auch als ein freies, objektrelationales Datenbankmanagementsystem (ORDBMS) betitelt, somit auch Opensource ist.

h4. Installation:

Pakete sind in den offiziellen Repositories zu finden, die bei dem Setup von openSUSE-Leap gesetzt werden.

# sudo zypper in postgresql postgresql-server

Da da der Dienst von PostgreSQL nicht automatisch gestartet wird, wie z.B bei debianbasierten Linux-Distributionen muß dieser noch gestartet werden

# sudo systemctl start postgresql

Am besten prüft man nochmal ob der Dienst auch fehlerfrei läuft

# sudo systemctl status postgresql
● postgresql.service - PostgreSQL database server
Loaded: loaded (/usr/lib/systemd/system/postgresql.service; disabled; vendor preset: disabled)
Active: active (running) since Tue 2020-11-03 08:31:17 UTC; 4h 23min ago
Main PID: 1460 (postgres)
Tasks: 8
CGroup: /system.slice/postgresql.service
├─1460 /usr/lib/postgresql12/bin/postgres -D /var/lib/pgsql/data
├─1461 postgres: logger
├─1463 postgres: checkpointer
├─1464 postgres: background writer
├─1465 postgres: walwriter
├─1466 postgres: autovacuum launcher
├─1467 postgres: stats collector
└─1468 postgres: logical replication launcher

Nov 03 08:31:15 opensuse-leap systemd[1]: Starting PostgreSQL database server...
Nov 03 08:31:15 opensuse-leap postgresql-script[1437]: Initializing PostgreSQL 12.4 at location /var/lib/pgsql/data
Nov 03 08:31:17 opensuse-leap postgresql-script[1437]: 2020-11-03 08:31:17.186 UTC [1460]LOG: starting PostgreSQL 12.4 on x86_64-suse-linux-gnu, compiled by gcc (SUSE L>
Nov 03 08:31:17 opensuse-leap postgresql-script[1437]: 2020-11-03 08:31:17.187 UTC [1460]LOG: listening on IPv6 address "::1", port 5432
Nov 03 08:31:17 opensuse-leap postgresql-script[1437]: 2020-11-03 08:31:17.187 UTC [1460]LOG: listening on IPv4 address "127.0.0.1", port 5432
Nov 03 08:31:17 opensuse-leap postgresql-script[1437]: 2020-11-03 08:31:17.193 UTC [1460]LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
Nov 03 08:31:17 opensuse-leap postgresql-script[1437]: 2020-11-03 08:31:17.204 UTC [1460]LOG: listening on Unix socket "/tmp/.s.PGSQL.5432"
Nov 03 08:31:17 opensuse-leap postgresql-script[1437]: 2020-11-03 08:31:17.221 UTC [1460]LOG: redirecting log output to logging collector process
Nov 03 08:31:17 opensuse-leap postgresql-script[1437]: 2020-11-03 08:31:17.221 UTC [1460]HINT: Future log output will appear in directory "log".
Nov 03 08:31:17 opensuse-leap systemd[1]: Started PostgreSQL database server.


Da wir jetzt wissen, das der Dienst ordnungsgemäß läuft, können wir loslegen, mit dem anlegen von Datenbank und Tabellen.

PostgreSQL wird vom System-User postgres verwaltet, der alle Rechte hat, um z.B. Datenbanken oder auch Datenbankbenutzer anzulegen. Da dieser User ohne Passwort konfiguriert ist, was unter MariaDB oder MySQL teilweise auch so ist, sollte man dem User sicherheitstechnisch ein Passwort konfigurieren.

# sudo passwd postgres

Passwort nach Aufforderung eingeben und erneut wiederholen.

Unter PostgreSQL gibt es genauso ein Shell wie bei z.B. MySQL und in diese kommt man wie folgt:

# sudo -u postgres psql

Um diese Shell wieder zu verlassen

\q

eingeben

Anlegen vom User der Datenbanken verwalten darf

# sudo sudo -u postgres createuser -P -d NUTZERNAME

Der Schalter -P <password> -d <create databases>

Anlegen von einer Datenbank

# sudo -u postgres createdb -O username DATABASENAME

Löschen einer Datenbank

# sudo -u postgress dropdb DATABASE

In der postgresql Shell sieht das anders aus

postgres=# CREATE DATABASE my_music;

Wechseln zwischen den Datenbanken

\c DATENBANK

Ein Tabelle mit den Spalten anlegen

postgres=# CREATE TABLE cds ( id int, interpreter varchar(100), album varchar(100), release date );



Daten in die Tabelle der Datenbank schreiben


INSERT INTO cds VALUES ( 1, 'Pretty Maids', 'Future World', '1987-04-12' );


Als kleine Einführung in PostgreSQL soll es mal reichen, wir bieten für mehr Wissen darüber auch ein Training an.

Dann viel Spaß bei ausprobieren von PostgreSQL.

Analyse der Konfigration bei Galera-MySQL-Cluster

Ich möchte in diesem Blog-Beitrag zum Thema Konfiguration-Check machen.

Zum Beispiel kann man bestimmte Statis abfragen, ob der Cluster synchronisiert ist oder wie viele Nodes der Cluster besitzt und noch einiges mehr.
Kurz zum Verständnis bei MySQL ist das Prozentzeichen(%) das Wildcard wie bei der Bash das Sternchen(*).
Das werde ich Anhand nachfolgender Beispiele erklären.

Die Anzahl der Nodes im Cluster:

mariaDB [(none)]> show status like 'wsrep_cluster_size%';
+--------------------+-------+
| Variable_name | Value |
+--------------------+-------+
| wsrep_cluster_size | 3 |
+--------------------+-------+

Wie man sehen kann sind hier 3 Nodes im Cluster.

Den aktuellen Sync-Status im Cluster wird so ermittelt:

MariaDB [(none)]> show status like 'wsrep_local_state_comment%';
+---------------------------+--------+
| Variable_name | Value |
+---------------------------+--------+
| wsrep_local_state_comment | Synced |
+---------------------------+--------+

Die Ausgabe sollte hier selbsterklärend sein.

Um alle Statis von dem Cluster abzurufen kann man dieses Kommando benutzen:
show status like 'wsrep_%';
| wsrep_provider_name | Galera |
| wsrep_provider_vendor | Codership Oy <info@codership.com> |
| wsrep_provider_version | 25.3.19(r3667) |
| wsrep_ready | ON |
| wsrep_received | 56804 |
| wsrep_received_bytes | 2506329647 |
| wsrep_repl_data_bytes | 352492270

Das ist nur ein kleiner Ausschnitt aus dem Ouput der hier herauskommt

Jetzt kommen wir zur eingestellten Konfiguration, die man hier auch auslesen kann, um spätere Anpassungen vorzunehmen kann.
Die Werte dafür sind in Variablen bei MySQL gespeichert und können wie folgt abgerufen werden:

Die max_allow Variablen kann man so ermitteln:

MariaDB [(none)]> show variables like '%max_allow%';
+--------------------------+------------+
| Variable_name | Value |
+--------------------------+------------+
| max_allowed_packet | 536870912 |
| slave_max_allowed_packet | 1073741824 |
+--------------------------+------------+

Wenn man hier etwas herumspielt mit den Werten, kann man erstaunliches und informatives herausfinden.

So als kleiner Einstieg sollte dieser Beitrag ausreichen damit man die wichtigsten Einstellungen beim Galera-Cluster ausgegeben bekommt.
Lesenswert Link:
Galera Dokumtentation

OSDC 2016 | NETWAYS GmbH

https://www.netways.de/events_schulungen/osdc/overview/

Da ich ja jetzt seit Februar 2016 auch Mitarbeiter der NETWAYS GmbH bin, freue ich mich auf diese Veranstaltung.

https://www.netways.de/ueber_netways/team/johannes_carraro/

Wird bestimmt sehr informativ und interessant.


Ich hoffe, das der eine oder andere Nerd hat auch Lust bekommen.... und ....

man sieht sich in BERLIN!!

Mehr zur NETWAYS GmbH => https://www.netways.de

Domain-Umzug auf VServer erfolgreich

Aufgrund der Tatsache, das Backups lokal nur so gut sind, wenn kein Feuer ausbricht, habe ich mich entschieden, mir einen VServer (KVM von netcup.de)im Internet zu besorgen, auf dem ich dann gleich meine Domain inklusive E-Mail-Server, Webserver und Feuerbackup habe, zugelegt.

Denn was hilft die ein Backup von wichtigen Dokumenten, Anleitungen, digitale Bilder von Famile und Co in deinem Haus, wenn dir die Hütte aus welchen Gründen auch immer abbrennt und die Daten der Backups gleich mit. Natürlich geht sowas auch günstiger und einfacher mit einem Online Speicher im Internet.


Mein VServer (KVM) von netcup besteht ist:

Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz mit 4GB RAM und 240GB HDD

Folgende Dienste sind eingerichtet:

Webserver Apache Prefork

Postfix SMTP mit TLS

Dovecot Imaps und POP3s

BTRFS-Snapshots von root und Daten via snapper

Als Linux Distribution habe ich mich für openSUSE entschieden, weil diese schon lange privat einsetze und der ich vertraue.

Einmal wöchentlich wird ein Abgleich von Home-Server zu VServer per 'rsync' gemacht um diesen Stand gleich zu halten.

openSUSE-Server im Heim-Einsatz

Einsatzmöglichkeiten für einen Linux-Server zu Hause:

  • Backup-Server für den Desktop-PC / Notebook
  • Speicherplatz für Dokumente oder Musik (File-Server / NFS-Server)
  • Druck-Server, wo Drucker z.B Farblaser oder Inkjet angeschlossen sind
  • Proxy-Server für das Einschränken von speziellen Internetseiten z.B für Kinder und Überwachen von Seitenzugriffen ...

Mein Linux-Server macht alles das was hier oben steht, also ein einziger älterer Desktop-Tower der ohne Tastatur, Maus und Monitor läuft.
 Es ist doch, klasse man arbeitet z.B auf der Terasse im Sommer mit dem Notebook und kann seine Sachen bequem ausdrucken, die dann im Büro am Drucker herauskommen, Wlan machts möglich.

Bei Interesse so einen Server selber einzurichten, installieren und konfigurieren, bin ich gerne bei der Umsetzung behilflich. Einfach per E-Mail anfragen.

Über dieses Archiv

Diese Seite enthält aktuelle Einträge der Kategorie Server.

Desktop ist die vorherige Kategorie.

Neuigkeiten ist die nächste Kategorie.

Aktuelle Einträge finden Sie auf der Startseite, alle Einträge im Archiv.

Seiten

Powered by Movable Type 7.1.3