Letzte Änderung: 07. Juli 2021
MySQL/MariaDB Logo


MySQL/MariaDB Kommandos


Create a database on the sql server. mysql> create database [databasename]; List all databases on the sql server. mysql> show databases; Switch to a database. mysql> use [db name]; To see all the tables in the db. mysql> show tables; To see database's field formats. mysql> describe [table name]; To delete a db. mysql> drop database [database name]; Show all data in a table. mysql> SELECT * FROM [table name];

MySQL/MariaDB absichern


# mysql_secure_installation Kontrollieren ob in der /etc/my.cnf [mysqld] skip-networking gesetzt ist !

Dumps/Exports


MySQL Dump von allen Datenbanken: mysqldump --all-databases --opt -Q -uroot -psupergeheim | gzip > backup.gz MySQL Dump von mehreren Datenbanken : mysqldump --databases --opt -Q -uroot -psupergeheim db1 db2 db3 | gzip > backup.gz Einzelne MySQL Datenbank exportieren : mysqldump -u username -p database_name > dump.sql Die Struktur einer MySQL Datenbank exportieren : mysqldump -u username -p --no-data database_name > dump.sql

Imports


MySQL Datenbanken importieren (die existierende DB wird per Default erst gelöscht, dann die neue importiert !) : mysql -u username -p database_name < dump.sql MySQL Dump von einzelnen Datenbanken einspielen : mysql -u root -psupergeheim DATABASE < backup.sql --- Die Daten aus einer MySQL Datenbank exportieren/importieren und die alte DB und Daten bestehen lassen : Export : mysqldump -u username -p --no-create-db --no-create-info --skip-extended-insert --skip-comments database_name > dump.sql Import : mysql -u username -p --force database_name < dump.sql --------------------------------------------------------------------------------------------------------------------------------------- Archive einpflegen : gzip -d < all_dbs.sql.gz | mysql --user=XXXX --password=XXXX

Datenbank löschen


mysqldump -u [USERNAME] -p [PASSWORD] --add-drop-table --no-data [DATABASE] | grep ^DROP | mysql -u [USERNAME] -p [PASSWORD] [DATABASE]

MySQL Datenbanken optimieren


mysqlcheck -u root -p --auto-repair --check --optimize --all-databases mysqlcheck -u root -p --auto-repair --check --optimize --databases myDB

Root Passwort setzen (Wenn nach einer frischen installation noch keines gesetzt ist)


mysqladmin -u root password yourrootsqlpassword # Nur den Teil "yourrootsqlpassword" aendern, den Rest der Zeile so lassen !

Root Passwort vergessen und neu setzen


/etc/init.d/mysql stop mysqld_safe --skip-grant-tables & # Einloggen in die MySQL Console mit : mysql -u root mysql mysql> update user set Password=PASSWORD('hier-neues-passwort-hin') where user='root'; mysql> flush privileges; mysql> quit /etc/init.d/mysql stop Leider wird nicht immer der per Hand gestartete Prozess abgeschossen. Daher sollte wir per ps aux | grep mysql prüfen ob der Prozess wirklich unten ist. Ansonsten per killall die Mysql Prozesse schließen. killall mysqld /etc/init.d/mysql start Login Test : mysql -u root -p quit

Backup von MySQL auf ein System mit der selben MySQL Version transferieren


Auf beiden Maschinen /etc/init.d/mysql stop ausführen Kopieren des Verzeichnisses /var/lib/mysql. Und dann auf beiden Maschinen MySQL wieder starten. Klemmt etwas nach dem kopieren können wir folgendes versuchen : # mysqlcheck -u root -p --auto-repair --check --optimize --all-databases und / evtl. # mysql_upgrade -u root -p ausführen.
top