#mysql
21 Einzeiler mit diesem Stichwort.
Alle Einzeiler mit Tag mysql
Alle Datenbanken in eine gepackte Datei sichern
#mysqldump --single-transaction --quick --all-databases --routines --events | gzip > /root/alle-datenbanken.sql.gz
Alle Datenbanken mit zugehöriger Domain in Plesk auflisten
#plesk db "SELECT d.name AS domain, db.name AS datenbank, db.type FROM data_bases db JOIN domains d ON d.id = db.dom_id ORDER BY d.name, db.name"
Alle MySQL-Benutzer mit Host auflisten
#mysql -e 'SELECT user, host FROM mysql.user ORDER BY user;'
Alle Tabellen auf Fehler prüfen
#mysqlcheck --all-databases --check --silent
Datenbank endgültig löschen
#mysql -e 'DROP DATABASE wp_alt;'
Datenbank mit eigenem Benutzer anlegen
#mysql -e "CREATE DATABASE wp_example CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; CREATE USER 'wp_example_user'@'localhost' IDENTIFIED BY 'SicheresPasswort'; GRANT ALL PRIVILEGES ON wp_example.* TO 'wp_example_user'@'localhost';"
Die 20 größten Tabellen des Servers finden
#mysql -e 'SELECT table_schema, table_name, ROUND((data_length + index_length) / 1024 / 1024, 1) AS mb, table_rows FROM information_schema.tables ORDER BY data_length + index_length DESC LIMIT 20;'
Einzelne Datenbank konsistent und gepackt sichern
$mysqldump --single-transaction --quick -u dbuser -p wp_example | gzip > /var/www/vhosts/example.com/wp_example.sql.gz
Gepackten SQL-Dump in eine Datenbank einspielen
$gunzip -c /var/www/vhosts/example.com/wp_example.sql.gz | mysql -u dbuser -p wp_example
Größe aller Datenbanken in MB anzeigen
#mysql -e 'SELECT table_schema AS db, ROUND(SUM(data_length + index_length) / 1024 / 1024, 1) AS mb FROM information_schema.tables GROUP BY table_schema ORDER BY mb DESC;'
Hängende MySQL-Abfrage gezielt abbrechen
#mysql -e 'KILL 12345;'
In Plesk registrierte Datenbankserver auflisten
#plesk db "SELECT id, host, port, type, admin_login FROM DatabaseServers"
Jede Datenbank in eine eigene gepackte Datei sichern
#for db in $(mysql -NBe 'SHOW DATABASES' | grep -Ev '^(information_schema|performance_schema|sys)$'); do mysqldump --single-transaction --quick "$db" | gzip > "/root/db-backup/$db.sql.gz"; done
Kurzstatus des Datenbankservers anzeigen
#mysqladmin version
Laufende MySQL-Abfragen ohne Leerlauf anzeigen
#mysql -e "SELECT id, user, db, time, state, LEFT(info, 100) AS query FROM information_schema.processlist WHERE command <> 'Sleep' ORDER BY time DESC;"
Maximale Verbindungen und bisherige Spitze vergleichen
#mysql -e "SHOW GLOBAL STATUS LIKE 'Max_used_connections'; SHOW GLOBAL VARIABLES LIKE 'max_connections';"
MySQL-Konsole als Plesk-Admin öffnen
#plesk db
Plesk-MySQL-Admin in Skripten und Einzeilern nutzen
#MYSQL_PWD=$(cat /etc/psa/.psa.shadow) mysql -u admin -e 'SHOW DATABASES;'
Rechte eines MySQL-Benutzers anzeigen
#mysql -e "SHOW GRANTS FOR 'dbuser'@'localhost';"
Slow-Query-Log nach den langsamsten Abfragen auswerten
#mysqldumpslow -s t -t 10 /var/log/mysql/mariadb-slow.log
Slow-Query-Log zur Laufzeit aktivieren
#mysql -e 'SET GLOBAL slow_query_log = 1; SET GLOBAL long_query_time = 2; SHOW VARIABLES LIKE "slow_query_log_file";'