mysql
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
mysql [24.12.2017 08:00] – thooge | mysql [31.07.2024 07:55] (aktuell) – [MariaDB / MySQL Datenbankserver] thooge | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== MariaDB / MySQL Datenbankserver ====== | ====== MariaDB / MySQL Datenbankserver ====== | ||
- | * Anlegen eines Administrator-Accont<code sql> | + | * Anlegen eines Administrator-Accounts<code sql> |
CREATE USER ' | CREATE USER ' | ||
GRANT ALL PRIVILEGES ON *.* TO ' | GRANT ALL PRIVILEGES ON *.* TO ' | ||
+ | </ | ||
+ | * Umstellen des lokalen Admin-Accounts auf Unix-Anmeldung< | ||
+ | ALTER USER root@localhost IDENTIFIED VIA unix_socket; | ||
</ | </ | ||
* Ändern des eigenen Kennworts< | * Ändern des eigenen Kennworts< | ||
Zeile 12: | Zeile 15: | ||
rm ~/ | rm ~/ | ||
</ | </ | ||
+ | * Anzeigen der Benutzerliste< | ||
+ | SELECT user, host FROM mysql.user; | ||
+ | </ | ||
+ | * Anzeigen des Zeichensatzes einer Datenbank< | ||
+ | SELECT default_character_set_name FROM information_schema.SCHEMATA | ||
+ | </ | ||
+ | * 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 ' | ||
+ | </ | ||
+ | * Komplettes Löschen eines Benutzers mit allen zugehörigen Rechten< | ||
+ | DROP USER ' | ||
+ | </ | ||
+ | |||
+ | ===== Performance ===== | ||
+ | |||
+ | * Alle Prozesse< | ||
+ | SHOW processlist; | ||
+ | </ | ||
+ | * Anzahl der aktuell genutzten Verbindungen< | ||
+ | SHOW STATUS WHERE `variable_name` = ' | ||
+ | </ | ||
+ | * Maximal verfügbare Verbindungsanzahl< | ||
+ | SHOW VARIABLES LIKE " | ||
+ | </ | ||
+ | * 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: | ||
+ | * '' | ||
+ | * in der letzten Spalte sollte eine 0 (Nicht NULL!) sein | ||
+ | * Slave_IO_Runinng und Salve-SQL_Running sollten beide auf " | ||
+ | |||
+ | ===== Cluster ===== | ||
+ | |||
+ | MariaDB auf allen Knoten installieren und die Prozesse beenden. | ||
+ | |||
+ | Verwendet wird der Galera-Code. | ||
+ | Die Konfigurationsdatei ''/ | ||
+ | < | ||
+ | [galera] | ||
+ | # Mandatory settings | ||
+ | wsrep_provider | ||
+ | wsrep_on | ||
+ | wsrep_cluster_name | ||
+ | wsrep_cluster_address | ||
+ | binlog_format | ||
+ | default_storage_engine | ||
+ | innodb_autoinc_lock_mode = 2 | ||
+ | |||
+ | wsrep_node_address | ||
+ | wsrep_node_name | ||
+ | </ | ||
+ | |||
+ | 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 ' | ||
+ | SHOW GLOBAL STATUS LIKE ' | ||
+ | |||
+ | Anschließend die anderen Knoten normal aktivieren. | ||
+ | |||
+ | ===== Backup ===== | ||
+ | |||
+ | MariaDB-Backup: | ||
+ | |||
+ | Konfiguration am besten über eine Datei im Konfigurationsverzeichnis ''/ | ||
+ | <file conf 70.backup.cnf> | ||
+ | [mariabackup] | ||
+ | user=mariabackup | ||
+ | password=geheim | ||
+ | target-dir=/ | ||
+ | </ | ||
+ | |||
+ | Start der Datensicherung dann mit: '' | ||
mysql.1514102408.txt.gz · Zuletzt geändert: 24.12.2017 08:00 von thooge