Benutzer-Werkzeuge

Webseiten-Werkzeuge


mysql

MariaDB / MySQL Datenbankserver

  • Anlegen eines Administrator-Accounts
    CREATE USER 'kapitaen'@'localhost' IDENTIFIED BY 'geheim';
    GRANT ALL PRIVILEGES ON *.* TO 'kapitaen'@'localhost' WITH GRANT OPTION;
  • Umstellen des lokalen Admin-Accounts auf Unix-Anmeldung
    ALTER USER root@localhost IDENTIFIED VIA unix_socket;
  • Ändern des eigenen Kennworts
    USE mysql;
    UPDATE USER SET Password=PASSWORD('NewPasswd') WHERE USER='Username';
    FLUSH PRIVILEGES;
  • Löschen der Kommandohistorie, z.B. weil dort Kennworte gespeichert sein könnten
    rm ~/.mysql_history
  • Anzeigen der Benutzerliste
    SELECT USER, host FROM mysql.user;
  • Anzeigen des Zeichensatzes einer Datenbank
    SELECT default_character_set_name FROM information_schema.SCHEMATA  WHERE schema_name='schemaname';
  • Anzeigen der Struktur einer Tabelle
    DESCRIBE tabellenname;
  • Restore einer Datenbank aus einem gepackten Datei
    gunzip < db-backup.sql.gz | mysql -u username dbname
  • Komplettes Löschen aller Rechte eines Benutzers
    REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'user'@'host'
  • Komplettes Löschen eines Benutzers mit allen zugehörigen Rechten
    DROP USER 'user'@'host'

Performance

  • Alle Prozesse
    SHOW processlist;
  • Anzahl der aktuell genutzten Verbindungen
    SHOW STATUS WHERE `variable_name` = 'Threads_connected';
  • Maximal verfügbare Verbindungsanzahl
    SHOW VARIABLES LIKE "max_connections";
  • Verbindungsanzahl zur Laufzeit erhöhen
    SET GLOBAL max_connections = 250;

Sicherheit

Absicherung durch Firewallregeln falls nicht nur auf localhost gearbeitet werden soll

iptables -A INPUT -i ppsh -p tcp --dport 3306 -j ACCEPT
iptables -A INPUT -p tcp --dport 3306 -j DROP

Replikation

Prüfen, ob ein Slave funktioniert:

  • show slave status
    • in der letzten Spalte sollte eine 0 (Nicht NULL!) sein
    • Slave_IO_Runinng und Salve-SQL_Running sollten beide auf „Yes“ stehen

Cluster

MariaDB auf allen Knoten installieren und die Prozesse beenden.

Verwendet wird der Galera-Code. Die Konfigurationsdatei /etc/mysql/mariadb.conf.d/60-galera.cnf wird aktiviert und angepaßt:

[galera]
# Mandatory settings
wsrep_provider           = /usr/lib/libgalera_smm.so
wsrep_on                 = ON
wsrep_cluster_name       = "MariaDB Galera Cluster"
wsrep_cluster_address    = gcomm://192.168.0.11,192.168.0.12,192.168.0.13
binlog_format            = row
default_storage_engine   = InnoDB
innodb_autoinc_lock_mode = 2

wsrep_node_address       = "192.168.6.01"
wsrep_node_name          = "Node1"

Entsprechend auf allen Knoten konfigurieren.

Neuen Cluster anlegen mit

service mysql start --wsrep-new-cluster

Damit läuft der primäre Knoten. Test mit

SHOW GLOBAL STATUS LIKE 'wsrep_cluster_size';
SHOW GLOBAL STATUS LIKE 'wsrep_cluster_status';

Anschließend die anderen Knoten normal aktivieren.

Backup

MariaDB-Backup: mariabackup

Konfiguration am besten über eine Datei im Konfigurationsverzeichnis /etc/mysql/mariadb.conf.d/:

70.backup.cnf
[mariabackup]
user=mariabackup
password=geheim
target-dir=/var/backups/mariadb

Start der Datensicherung dann mit: mariabackup --backup

mysql.txt · Zuletzt geändert: 31.07.2024 07:55 von thooge

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki