So wir kommen der Sache schon näher.
CF:
Dieser Code ist Korrekt:
Q1="CREATE DATABASE IF NOT EXISTS $VAR_C;"
Q2="GRANT ALL PRIVILEGES ON $VAR_C.* TO $VAR_D@'%' IDENTIFIED BY '$VAR_E' WITH GRANT OPTION;"
Q3="FLUSH PRIVILEGES;"
SQL="${Q1}${Q2}${Q3}"
Ich habe im Kunden WP nachgesehen und das Stimmt mit dem Code überein.
Nun zu dem Passwortproblem:
Wie andere schon geschrieben haben, kann sich kein Kunde, wo die DB und der DB User mit dem TB web Script erstellt wurden einloggen.
Bei den DB's und DB Usern die mit dem aus dem Zitat erstellten Code erstellt wurden, können sich einloggen. Sogar die Berechtigung der DB passt. Nur der Benutzer hat keine, mit dem TB Script aber auch nicht.
So ein kleiner Erfolg:
Durch Tante Google bin ich auf den Code gestoßen:
CodeAlles anzeigen#! /bin/bash EXPECTED_ARGS=3 E_BADARGS=65 MYSQL=`which mysql` mysqlpwd=`cat /etc/mysql/settings.ini | grep -i password | awk '{print $2}'` # Zum Testen von mir hinzugefügt mysqlusr=`cat /etc/mysql/settings.ini | grep -i login | awk '{print $2}'` # Hier ebenso Q1="CREATE DATABASE IF NOT EXISTS $1;" Q2="GRANT USAGE ON *.* TO $2@localhost IDENTIFIED BY '$3';" Q3="GRANT ALL PRIVILEGES ON $1.* TO $2@localhost;" Q4="FLUSH PRIVILEGES;" SQL="${Q1}${Q2}${Q3}${Q4}" if [ $# -ne $EXPECTED_ARGS ] then echo "Usage: $0 dbname dbuser dbpass" exit $E_BADARGS fi $MYSQL -u$mysqlusr -p$mysqlpwd -e "$SQL"
....
<Edit />
Ok dem Passwortproblem bin ich auf die Schliche gekommen:
Es können sich keine DB User mit dem Host % via phpMyAdmin einloggen, User mit dem Host localhost aber schon.
Ein Verbessrungsvorschlat hätte ich CF:
Wenn der Hoster die DB anlegt, sollte er auch gleich das passwort mitvergeben. Den PW Generator noch hinzufügen und fertig.
Im Kuden WP dann unter Datenbank auch das PW mit anzeigen lassen. So weiss der Kunde welches es ist und kann es nach bedarf ändern.