Alternativní způsoby zápisu těchto možností.
Můžete psát
mysql -u "$MYSQL_ROOT" -p"$MYSQL_PASS" -e "SHOW DATABASES"
předat prázdné řetězce jako samostatné argumenty. Váš komentář níže naznačuje, že klient bude stále žádat o heslo. Pravděpodobně to interpretuje prázdný argument jako název databáze a ne jako heslo. Místo toho můžete zkusit následující:
mysql --user="$MYSQL_ROOT" --password="$MYSQL_PASS" -e "SHOW DATABASES"
soubor .my.cnf
Ale i když existuje způsob, stále bych vám doporučil použít ~/.my.cnf
místo toho soubor. Argumenty na příkazovém řádku jsou pravděpodobně zahrnuty ve výpisu procesu generovaném ps -A -ocmd
, aby je mohli vidět ostatní uživatelé. Soubor .my.cnf
soubor na druhou stranu můžete (a měli byste) učinit čitelným pouze vy (pomocí chmod 0600 ~/.my.cnf
), a budou použity automaticky. Nechte tento soubor obsahovat následující řádky:
[client]
user=root
password=
Pak stačí jednoduchý mysql -e "SHOW DATABASES"
bude stačit, protože klient získá své přihlašovací údaje z tohoto souboru.
Viz 6.1.2.1. Pokyny pro koncové uživatele pro zabezpečení heslem
pro různé způsoby, kterými můžete zadat heslo, a jejich příslušné výhody a nevýhody. Viz 4.2.3.3. Pomocí Option Files
obecné informace o tomto .my.cnf
soubor