====== MySQL / MariaDB Command Line ======
> https://mariadb.com/kb/en/sql-statements/
> https://dev.mysql.com/doc/refman/8.0/en/sql-statements.html
===== Verbindung zum Server aufbauen =====
# mysql -u [USER] -p
==== Systemparameter abfragen ====
Wie man Informationen über den Datenbankserver abfragt.
=== Version ===
mysql> SELECT @@version;
===== User verwalten / Berechtigungen vergeben =====
==== Alle Benutzer anzeigen ====
mysql> SELECT User,Host FROM mysql.user;
+------------------+-----------+
| User | Host |
+------------------+-----------+
| root | 127.0.0.1 |
| root | ::1 |
| debian-sys-maint | localhost |
| mysql.session | localhost |
| mysql.sys | localhost |
| root | localhost |
+------------------+-----------+
12 rows in set (0.00 sec)
==== Benutzer löschen ====
mysql> DROP USER 'USER'@'localhost';
Query OK, 0 rows affected (0.00 sec)
==== Benutzer erstellen ====
CREATE USER 'user'@localhost IDENTIFIED BY 'xxx';
===== Datenbanken verwalten =====
==== Datenbanken ansehen ====
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.00 sec)
==== Datenbank anlegen ====
mysql> CREATE DATABASE IF NOT EXISTS testdb;
==== Datenbank löschen ====
mysql> DROP DATABASE testdb;
===== Berechtigungen =====
==== Alle Rechte auf bestimmte Datenbank erteilen ====
GRANT ALL PRIVILEGES ON 'database'.* TO 'user'@localhost;
FLUSH PRIVILEGES;
==== Berechtigunen prüfen ====
SHOW GRANTS FOR 'user'@localhost;
===== Migration / Backup restore =====
==== Import auf der MySQL-CLI ====
mysql> use db_name;
mysql> source file_name.sql;
==== Einzelne Datenbank von --all-databases importieren ====
Nachfolgend die "onboard" Methode von MySQL.
mysql -u root -p --one-database destdbname < alldatabases.sql
Die sicherere Methode, ohne vorhandene Datenbanken zu überschreiben, ist aus dem "full dump" die gewünschte Datenbank zu extrahieren. Dies kann der sed-Editor übernehmen:
# sed -n '/^-- Current Database: `dbname`/,/^-- Current Database: `/p' alldatabases.sql > output.sql