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ß!