mysql
Inhaltsverzeichnis
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