====== 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%%''