datenbanken:mysql
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;
datenbanken/mysql.txt · Last modified: 2025/03/03 15:04 by gsys