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

Przekaż hasło do mysql_config_editor za pomocą zmiennej w powłoce

Inna sugerowana odpowiedź nie działała, gdy nie było TTY. Użyłem więc tego skryptu basha, który działa w miejscach takich jak Terraform/ssh, które nie mają terminala:

#!/bin/bash

if [ $# -ne 4 ]; then
  echo "Incorrect number of input arguments: $0 $*"
  echo "Usage: $0 <login> <host> <username> <password>"
  echo "Example: $0 test 10.1.2.3 myuser mypassword"
  exit 1
fi

login=$1
host=$2
user=$3
pass=$4

unbuffer expect -c "
spawn mysql_config_editor set --login-path=$login --host=$host --user=$user --password
expect -nocase \"Enter password:\" {send \"$pass\r\"; interact}
"

Przetestuj:

./mysql_config.sh login 10.1.2.3 myuser mypass < /dev/null


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysql- Jak aplikować dotacje do kolumny?

  2. Qt - Jak zdobyć | skompilować sterownik Mysql

  3. Przechowuj UUID v4 w MySQL

  4. Błąd składni z emulacją tworzenia użytkownika, jeśli nie istnieje

  5. Używanie aliasu dla serwera localhost w MySQL