Schnell-Referenz: Häufig verwendete Code-Schnipsel und Anweisungen für Entwickler.
CREATE DATABASE databasename;
CREATE USER 'username'@'localhost' IDENTIFIED WITH mysql_native_password BY 'my-strong-password-here';
GRANT ALL PRIVILEGES ON databasename.* TO 'username'@'localhost' WITH GRANT OPTION;
mysqldump -h host -u user -p dbname > dateiname.sql
In einigen Konfigurationen kommt es zu Berechtigungsproblemen mit Tablespaces.
Insbesondere bei Shopware 6 Systemen kann es Sinn machen, die Datenbank ohne Tablespaces zu exportieren.
Vorher unbedingt sicherstellen, dass die Datenbank nicht als NDB Cluster konfiguriert ist,
denn dann muss die Datenbank inkl. der Tablespace-Definition exportiert werden.
mysqldump -h host -u user -p --no-tablespaces dbname > backup.sql
Bei Shopware 6 hat sich diese Nutzung von mysqldump bewährt:
mysqldump -h hostname -uusername -p --routines --add-drop-table --disable-keys --skip-extended-insert --hex-blob --skip-triggers --no-tablespaces databasename > YYYY-mm-dd-shopware.sql
Je nach Server-Konfiguration kann es vorkommen, dass der Befehl mysqldump nicht direkt gefunden wird. Zu beobachten ist das bspw. bei Profihost. Der Pfad zum Programm muss dann separat angegeben werden. Den kann man entweder selbst ermitteln, sich vom Hoster nennen lassen, aber meist lässt er sich auch in der Dokumentation des Hosters nachschlagen.
Statt nur mysqldump schreibt man dann den Pfad davor:
/usr/local/mysql/bin/mysqldump
mysql -uusername -p database_name < file.sql