Last active
May 14, 2019 08:45
-
-
Save schaary/b340b62151f9032691d6e2f98e178d09 to your computer and use it in GitHub Desktop.
create mysql dump
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env bash | |
# Dieses Script schreibt einen Dump der Datenbank, die als erstes Argument | |
# übergeben wird. | |
# Die Dumps sind umfassend - d.h. sie kommen mit einem `create database` und | |
# vollständingen `create table` Statements, damit man ein Backup von allen | |
# Einstellungen bzgl. Collation und Character Set hat. | |
if [ -z ${1} ] | |
then | |
echo "Fehler: Der Name der Datenbank, die zu dumpen ist, wurde nicht angegeben!" | |
echo "" | |
echo "usage: create_mysql_dump [DATABASE]" | |
exit 1 | |
fi | |
MYSQLDUMP=$(which mysqldump) | |
TIMESTAMP=$(date '+%Y%m%d%H%M%S') | |
DUMPFILE="dump_${1}_${TIMESTAMP}.sql" | |
# Für den Export werden folgende Optionen genutzt: | |
# | |
# --user -> Loginname des Nutzers, der auf die Datenbank zugreift | |
# --password -> Passwort des Nutzers | |
# --extended-insert -> jeder Datensatz bekommt ein eigenes insert-Statement | |
# --single-transaction -> schreibt den Dump in einer Transaktion | |
# --create-options -> schreibt u.a. collation und character set für | |
# jede Tabelle in die `create table` Statements | |
# --databases -> schreibt ein `create database` Statement in den Dump, | |
# mit collation und character set der Datenbank | |
${MYSQLDUMP} \ | |
--user=root \ | |
--password=$MYSQL_URZ_MYSQL_ROOT_PASSWORD \ | |
--extended-insert=false \ | |
--single-transaction \ | |
--create-options \ | |
--databases \ | |
${1} | iconv -f latin1 -t utf8 > ${DUMPFILE} | |
exit 0 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment