====== 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/'':
[mariabackup]
user=mariabackup
password=geheim
target-dir=/var/backups/mariadb
Start der Datensicherung dann mit: ''%%mariabackup --backup%%''