Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Chuyển mật khẩu cho mysql_config_editor bằng cách sử dụng biến trong shell

Tôi thấy câu trả lời gợi ý khác không hoạt động khi không có TTY. Vì vậy, tôi đã sử dụng tập lệnh bash này hoạt động ở những nơi như Terraform / ssh không có thiết bị đầu cuối:

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

Kiểm tra nó:

./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. Sử dụng lớp cơ sở dữ liệu Django bên ngoài Django?

  2. Chỉ cần chuyển đổi từ mysql sang mysqli

  3. Không thể cài đặt mysqlclient

  4. Đang cố gắng cài đặt Perl-Mysql DBD, không tìm thấy mysql_config

  5. Truy vấn cơ sở dữ liệu MySQL và nhóm theo phạm vi ngày để tạo biểu đồ