cabriofahrer
Well-Known Member
Es handelt sich eigentlich um ein shellscript für Debian, aber da es sich um shellscript handelt, würde es sicherlich auch unter FreeBSD funktionieren und könnte darüber hinaus auch für alle hier interessant sein. Das Skript ist fehlerhaft, und diese Fehler müssen gefunden werden. Eventuell liegen auch Fehler in der Formatierung vor. OK, hier ist es:
Code:
#!/bin/bash
# Dieses Skript erstellt eine Datenbank und einen User mit Rechten.
# Defaults
DB_ROOT=""
DB_ROOT_PASS=""
DB_NAME=""
DB_USER=""
DB_PASS=""
# Wir nehmen den Input des Users auf
read -e -p " + Root User des mysql servers: " DB_ROOT
read -e -s -p " + Passwort für den Root User: " DB_ROOT_PASS; echo
read -e -p " + Nombre de la base de datosName der Datenbank (Ohne Abstände und Sonderzeichen): " DB_NAME
read -e -p " + Name des neuen mysql Users (oder einer, der schon existiert): " DB_USER
read -e -s -p " + Passwort des neuen Users: " DB_PASS;
echo
echo
# Wir schaffen einen neuen sql user
mysql -u ${DB_ROOT} -p${DB_ROOT_PASS} -e "CREATE USER '${DB_USER}'@'localhost' IDENTIFIED BY '${DB_PASS}'; GRANT USAGE ON * . * TO '${DB_USER}'@'localhost' IDENTIFIED BY '${DB_PASS}';"
# Wir checken Fehler
if [ $? == 0 ]; then
echo " Der User ${DB_USER} ist erfolgreich erstellt worden."
# Wir schaffen die neue Datenbank
mysql -u ${DB_ROOT} -p${DB_ROOT_PASS} -e "CREATE DATABASE IF NOT EXISTS ${DB_NAME} DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; GRANT ALL PRIVILEGES ON ${DB_NAME} . * TO '${DB_USER}'@'localhost';"
# Wir checken Fehler
if [ $? == 0 ]; then
echo " Die Datenbank ${DB_NAME} ist erfolgreich erstellt worden."
echo " Der User ${DB_USER} hat Rechte über die Datenbank ${DB_NAME}."
else
mysql -u ${DB_ROOT} -p${DB_ROOT_PASS} -e "DROP USER '${DB_USER}'@'localhost';"
exit
fi
else
echo " Wenn mysql ERROR 1396 ausgibt, bedeutet das wahrscheinlich, dass der User bereits existiert."
echo " Probiere einen anderen Usernamen aus."
exit
fi