In Zukunft werde ich hier in unregelmäßigen Abständen nützliche Shell-Scripte veröffentlichen, die uns bei PS-Webhosting einige Arbeit abnehmen. Sie sind unter Debian Linux lauffähig.
Heute: Anlegen einer mySQL-Datenbank mit Zufallspasswort.
Verwendung:
turbozoidberg:~/utils# ./newdb
Usage: ./newdb dbname [password]
Inhalt der Datei:
#!/bin/sh
MYSQLADMIN_USER="root"
MYSQLADMIN_PASSWORD="mySQL_root_Passwort"
MYSQLADMIN_HOST="mySQL_Hostname (z.B. localhost)"
MYSQLDATABASE="$1"
MYSQLUSER="$1"
MYSQLPASSWORD="$2"
# IP-Nummer(n) der Server, die auf die Datenbank zugreifen dürfen:
MYSQLHOST="123.123.123.%"
if [ -z "$MYSQLPASSWORD" ]
then
MYSQLPASSWORD="`pwgen 8 1`"
fi
if [ $# -lt 1 -o $# -gt 2 ]
then
echo "Usage: $0 dbname [password]"
exit
fi
mysql -u$MYSQLADMIN_USER -p$MYSQLADMIN_PASSWORD -h$MYSQLADMIN_HOST mysql << EOF
CREATE DATABASE \`$MYSQLDATABASE\`;
GRANT USAGE ON *.* TO \`$MYSQLUSER\`@\`$MYSQLHOST\` IDENTIFIED BY "$MYSQLPASSWORD" WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0;
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,INDEX,ALTER,LOCK TABLES,CREATE TEMPORARY TABLES ON \`$MYSQLDATABASE\`.* TO \`$MYSQLUSER\`@\`$MYSQLHOST\`;
EOF
echo "MySQL:"
echo "Datenbankname: $MYSQLDATABASE"
echo "Benutzername : $MYSQLUSER"
echo "Passwort : $MYSQLPASSWORD"
Die Datei einfach zum Beispiel als "newdb" abspeichern und auf der Shell mit
./newdb Datenbankname <Passwort>
aufrufen. Ohne Passwort wird ein zufälliges Passwort mit pwgen generiert.
Viel Spaß!