Folosesc următorul script pentru a citi acreditările bazei de date dintr-o instalare Wordpress:
DB_NAME=$(sed -n "s/define( *'DB_NAME', *'\([^']*\)'.*/\1/p" wp-config.php)
DB_USER=$(sed -n "s/define( *'DB_USER', *'\([^']*\)'.*/\1/p" wp-config.php)
DB_PASSWORD=$(sed -n "s/define( *'DB_PASSWORD', *'\([^']*\)'.*/\1/p" wp-config.php)
DB_HOST=$(sed -n "s/define( *'DB_HOST', *'\([^']*\)'.*/\1/p" wp-config.php)
Când răspund variabilelor astfel:
echo $DB_NAME;
echo $DB_USER;
echo $DB_PASSWORD;
echo $DB_HOST;
Totul e bine. Când le folosesc într-un mysqldump
afirmație:
mysqldump --add-drop-table -u${DB_USERNAME} -p${DB_PASSWORD} ${DB_NAME} > ../backups/${SQL_BACKUP} 2>&1
sau
mysqldump --add-drop-table -u$DB_USERNAME -p$DB_PASSWORD $DB_NAME > ../backups/$SQL_BACKUP 2>&1
Primesc acest mesaj de eroare:
mysqldump: Am primit o eroare: 1045: Acces refuzat pentru utilizatorul „-8zSkcRrgVad3F”@“localhost” (folosind parola: NU) când încearcă să se conecteze
Când folosesc afirmația astfel:
mysqldump --add-drop-table -udatabaseuser -p8zSkcRrgVad3F baza de date > ../backups/test.sql 2>&1
Totul merge bine. Nu am caractere speciale în utilizatorul/baza de date/parola, dar comanda preia -p8zSkcRrgVad3F
ca si numele de utilizator? Trebuie să reduc valorile înainte sau ceva de genul acesta?