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

Předejte heslo do mysql_config_editor pomocí proměnné v shellu

Zjistil jsem, že druhá navrhovaná odpověď nefungovala, když neexistoval žádný TTY. Takže jsem použil tento bash skript, který funguje na místech jako Terraform/ssh, která nemají terminál:

#!/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}
"

Otestujte to:

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


  1. Změňte port Oracle z portu 8080

  2. CHYBA:neukončený řetězec v uvozovkách na nebo blízko

  3. Uložte a iterujte výsledek dotazu v mysqli

  4. Jak provést dotaz, který je uložen ve sloupci tabulky MySQL?