Inhaltsverzeichnis:
MySQL/MariaDB KommandosCreate 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_secure_installation
Kontrollieren ob in der /etc/my.cnf
[mysqld]
skip-networking
gesetzt ist !
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
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
mysqldump -u [USERNAME] -p [PASSWORD] --add-drop-table --no-data [DATABASE] | grep ^DROP | mysql -u [USERNAME] -p [PASSWORD] [DATABASE]
mysqlcheck -u root -p --auto-repair --check --optimize --all-databases
mysqlcheck -u root -p --auto-repair --check --optimize --databases myDB
mysqladmin -u root password yourrootsqlpassword # Nur den Teil "yourrootsqlpassword" aendern, den Rest der Zeile so lassen !
/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
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.