Kleine Befehlszeilen-Referenz für MySQL.
Server-Infos auslesen
Beschreibung |
Befehl |
Bemerkung |
Server-Version auslesen |
select @@version; |
|
MySQL-Konfiguration auslesen |
show variables; |
|
MySQL-Konfiguration auslesen (Gefiltert) |
show variables like ‘%max%’; |
|
Server-Status auslesen |
status; |
MySQL-Version, Charset, Uptime etc. |
Benutzerverwaltung
Dafür muss die MySQL-DB verwendet werden:
use mysql;
Beschreibung |
Befehl |
Bemerkung |
Zeige alle Benutzer mit Host |
select user,host FROM mysql.user; |
|
Zeige momentan verwendeten Benutzer |
select user(); |
|
Setze Root-Passwort zurück |
alter user ‘root’@’localhost’ identified by ‘MeinPasswort’;flush privileges; |
|
Lege einen Benutzer an |
create user ‘USER’@’localhost’ IDENTIFIED BY ‘PASSWORT’; |
|
Zeige Berechtigungen eines Benutzers |
show grants for ‘root’@’localhost’; |
|
Benutzer auf alle Tabellen einer DB berechtigen |
grant all privileges ON MeineDB.* to ‘USER’@’localhost’; |
|
Berechtigungen eines Benutzers zurückziehen |
revoke privileges ON asset.* FROM ‘USER’@’localhost’; |
|
Benutzer löschen |
drop user ‘USER’@’localhost’; |
|
Datenbanken
Beschreibung |
Befehl |
Bemerkung |
Datenbanken anzeigen |
show databases; |
|
In Datenbank wechseln |
use DATENBANK; |
|
Datenbank anlegen |
create database DATENBANK; |
|
Datenbank löschen |
drop database DATENBANK; |
|
Tabellen abfragen
Beschreibung |
Befehl |
Bemerkung |
Tabellen anzeigen |
show tables; |
|
Zeige die Struktur einer TABELLE |
describe TABELLE; |
Spaltennamen, Datentypen etc. |
Zeige alle Spalten und Inhalte einer TABELLE |
select * from TABELLE; |
|
Zeige die ersten 10 Treffer |
select * from TABELLE limit 10; |
|
Zähle die Anzahl der Datensätze |
select count(Spalte) from TABELLE; |
|
Zähle die Anzahl der Datensätze (keine Duplikate) |
select count(distinct(Spalte)) from TABELLE; |
|
Zeige alle Inhalte, aber ohne Duplikate |
select distinct * from TABELLE; |
|
Zeige alle Werte NICHT gleich |
select * from Spalte where not Wert = ‘123’; |
|
Tabellen-Struktur anlegen und bearbeiten
Beschreibung |
Befehl |
Bemerkung |
Tabellen anlegen |
create table TABELLENNAME ( SPALTE1 varchar(255), SPALTE2 varchar(255), SPALTE3 int ); |
|
Spalte hinzufügen |
alter table TABELLE add column Spalte24 VARCHAR(10) after Spalte23; |
|
Spalte entfernen |
alter table TABELLE drop column Spalte24; |
|
Tabelle entfernen |
drop table TABELLE; |
|
Tabellen-Inhalte bearbeiten
Beschreibung |
Befehl |
Bemerkung |
Inhalt einfügen |
insert into TABELLE (SPALTE1, SPALTE2, SPALTE3) values (‘inhalt1’, ‘inhalt2", ‘inhalt3’); |
|
Inhalt einfügen (bei Bestehen aktualisieren) |
insert into TABELLE (SPALTE1, SPALTE2, SPALTE3) values (‘inhalt1’, ‘inhalt2’, ‘inhalt3’) on duplicate key update inhalt2=‘WERT’, inhalt3=‘WERT’; |
|
Inhalt aktualisieren |
update TABELLE set Wert = ‘blabla’ where Spalteninhalt = ‘Spalte1’; |
|
Zeile löschen |
delete from TABELLE where hostname = ‘HOSTNAME’; |
|
Checks und Reparaturen
Beschreibung |
Befehl |
Bemerkung |
Tabelle aus Konsistenz prüfen |
check table mysql.global_priv; |
|
Tabelle reparieren |
repairtable mysql.global_priv; |
Kann auch mehrmals ausgeführt werden |
Datenbank-Statements per Datei absetzen
Eine Textdatei anlegen, z.B. sql_command.txt:
use DATENBANK;
delete from TABELLE where SPALTE = ‘WERT1’;
delete from TABELLE where SPALTE = ‘WERT2’;
Datenbank-Statement ausführen:
mysql < /tmp/sql_command.txt
Backup und Restore
Beschreibung |
Befehl |
mysqldump -uBENUTZER -pPASSWORT DB > /pfad/zum/db_backup.sql |
Backup erstellen |
mysql -uBENUTZER DB < /pfad/zum/db_backup.dump |
Datenbank wiederherstellen |