sql >> Databáze >  >> RDS >> Mysql

Jak se automaticky přihlásit do MySQL ze skriptu Shell?

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



  1. Jak nainstalovat klienta SQL SQuirrel

  2. Průvodce automatizovaným nasazením cloudové databáze

  3. Jak mohu použít, pokud existuje, pro vytvoření nebo odstranění indexu v MySQL?

  4. Formát data MySQL DD/MM/RRRR vybrat dotaz?