Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bagaimana cara masuk otomatis di MySQL dari skrip Shell?

Cara alternatif untuk menulis opsi ini.

Anda dapat menulis

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

untuk melewatkan string kosong sebagai argumen terpisah. Komentar Anda di bawah ini menunjukkan bahwa klien masih akan meminta kata sandi. Mungkin itu menafsirkan argumen kosong sebagai nama database dan bukan sebagai kata sandi. Jadi, Anda dapat mencoba yang berikut ini sebagai gantinya:

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

file .cnf saya

Tetapi bahkan jika ada cara, saya tetap menyarankan Anda menggunakan ~/.my.cnf file sebagai gantinya. Argumen pada baris perintah kemungkinan disertakan dalam daftar proses yang dihasilkan oleh ps -A -ocmd , sehingga pengguna lain dapat melihatnya. .my.cnf file, di sisi lain, dapat (dan seharusnya) dibuat hanya dapat dibaca oleh Anda (menggunakan chmod 0600 ~/.my.cnf ), dan akan digunakan secara otomatis. Minta file itu menyertakan baris berikut:

[client]
user=root
password=

Kemudian mysql -e "SHOW DATABASES" sudah cukup, karena klien akan mendapatkan kredensialnya dari file itu.

Lihat 6.1.2.1. Pedoman Pengguna Akhir untuk Keamanan Kata Sandi untuk berbagai cara di mana Anda dapat memberikan kata sandi, dan kelebihan dan kekurangannya masing-masing. Lihat 4.2.3.3. Menggunakan File Opsi untuk informasi umum tentang .my.cnf ini berkas



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kembalikan boolean dari file PHP ke AJAX one - tombol Ikuti

  2. C# Pengkodean UTF8 Mysql

  3. Hasilkan karakter alfanumerik acak unik yang panjangnya 7 karakter

  4. Pembaruan MySQL menggunakan PDO dan pernyataan yang disiapkan tidak berfungsi

  5. Permintaan MySQL untuk menghitung nilai bukan nol dalam satu baris