Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak automatycznie zalogować się w MySQL ze skryptu powłoki?

Alternatywne sposoby zapisywania tych opcji.

Możesz pisać

mysql -u "$MYSQL_ROOT" -p"$MYSQL_PASS" -e "SHOW DATABASES"

aby przekazać puste ciągi jako oddzielne argumenty. Twój komentarz poniżej wskazuje, że klient nadal będzie prosić o hasło. Prawdopodobnie interpretuje pusty argument jako nazwę bazy danych, a nie hasło. Możesz więc spróbować zamiast tego:

mysql --user="$MYSQL_ROOT" --password="$MYSQL_PASS" -e "SHOW DATABASES"

.my.cnf plik

Ale nawet jeśli istnieje sposób, nadal sugeruję użycie ~/.my.cnf plik zamiast. Argumenty w wierszu poleceń są prawdopodobnie zawarte w liście procesów generowanych przez ps -A -ocmd , aby inni użytkownicy mogli je zobaczyć. .my.cnf z drugiej strony plik może (i powinien) być odczytywany tylko przez Ciebie (za pomocą chmod 0600 ~/.my.cnf ) i będą używane automatycznie. Niech ten plik zawiera następujące wiersze:

[client]
user=root
password=

Następnie proste mysql -e "SHOW DATABASES" wystarczy, ponieważ klient uzyska swoje dane uwierzytelniające z tego pliku.

Zobacz 6.1.2.1. Wskazówki dla użytkowników końcowych dotyczące bezpieczeństwa hasła o różnych sposobach, w jakie możesz podać hasło, oraz o ich zaletach i wadach. Zobacz 4.2.3.3. Korzystanie z plików opcji aby uzyskać ogólne informacje na temat tego .my.cnf plik



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. readyStatement błąd składni

  2. Jak utworzyć unikalny losowy identyfikator liczby całkowitej dla klucza podstawowego dla tabeli?

  3. zamówienie mysql według danych serializowanych?

  4. MySQL wybierz odrębny

  5. Błędy WAMP/MySQL w niepoprawnym języku