====== MySQL ====== ===== Befehle ===== **Linux-Shell:** mysql -u root -p # mysql mit Benutzer root ausführen mysqldump database -u root -p > dump.sql # Dump der DB "database" mysql -p database -u root -p < dump.sql # Dump der DB "database" einspielen mysqldump -u root -p --databases database --result-file=dbdata.sql **MySQL-Shell:** use datenbankname; # Datenbank "datenbankname" verwenden SHOW DATABASES; # Alle Datenbanken anzeigen SHOW TABLES; # Alle Tabellen in der ausgewählten Datenbank anzeigen \q # MySQL-Shell beenden show variables like "character_set_database"; # Character-Set der Datenbank anzeigen show variables like "collation_database"; # Kollation der Datenbank anzeigen SHOW FIELDS FROM tabelle; # Struktur einer Tabelle anzeigen DESCRIBE user; # " " " " show grants; # Berechtigungen für angemeldeten user anzeigen show grants for 'user'@'10.1.2.3'; # Berechtigungen für user mit ip anzeigen ALTER TABLE t1 RENAME t2; # Tabellennamen ändern ALTER TABLE t2 DROP COLUMN c; # Spalte "c" löschen ALTER TABLE t2 ADD d TIMESTAMP; # Timestamp-Spalte "d" hinzufügen DELETE FROM table; # Inhalt der Tabelle "table" löschen DROP {DATABASE | SCHEMA} [IF EXISTS] db_name # DB-Löschen **Benutzer mit vollen, lokalen Rechten nur für die dazu erstellte DB** CREATE USER 'owncloud'@'localhost'; GRANT USAGE ON * . * TO 'owncloud'@'localhost' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0; CREATE DATABASE IF NOT EXISTS `owncloud`; GRANT ALL PRIVILEGES ON `owncloud` . * TO 'owncloud'@'localhost'; SET PASSWORD FOR 'owncloud'@'localhost' = PASSWORD('password123'); FLUSH PRIVILEGES; **Auto Increment Index wieder auf 1 setzen** ALTER TABLE `tabelle` AUTO_INCREMENT = 1; ** Get Tables Sizes from all DBs ** SELECT TABLE_NAME AS `Table`, ROUND((DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024) AS `Size (MB)` FROM information_schema.TABLES WHERE TABLE_SCHEMA = "$DB_NAME" ORDER BY (DATA_LENGTH + INDEX_LENGTH) DESC;