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

Bagaimana cara menjalankan perintah MySQL dari skrip shell?

Anda perlu menggunakan -p bendera untuk mengirim kata sandi. Dan ini rumit karena Anda tidak boleh memiliki spasi di antara -p dan kata sandinya.

$ mysql -h "server-name" -u "root" "-pXXXXXXXX" "database-name" < "filename.sql"

Jika Anda menggunakan spasi setelah -p itu membuat klien mysql meminta Anda secara interaktif untuk kata sandi, dan kemudian menafsirkan argumen perintah berikutnya sebagai nama-database:

$ mysql -h "server-name" -u "root" -p "XXXXXXXX" "database-name" < "filename.sql"
Enter password: <you type it in here>
ERROR 1049 (42000): Unknown database 'XXXXXXXX'

Sebenarnya, saya lebih suka menyimpan pengguna dan kata sandi di ~/.my.cnf jadi saya tidak perlu meletakkannya di baris perintah sama sekali:

[client]
user = root
password = XXXXXXXX

Kemudian:

$ mysql -h "server-name" "database-name" < "filename.sql"

Kembali komentar Anda:

Saya menjalankan perintah mysql mode batch seperti di atas pada baris perintah dan skrip shell sepanjang waktu. Sulit untuk mendiagnosis apa yang salah dengan skrip shell Anda, karena Anda belum membagikan skrip yang tepat atau keluaran kesalahan apa pun. Saya sarankan Anda mengedit pertanyaan awal Anda di atas dan memberikan contoh apa yang salah.

Juga ketika saya memecahkan masalah skrip shell saya menggunakan -x tandai agar saya dapat melihat cara menjalankan setiap perintah:

$ bash -x myscript.sh


  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 Mengubah Prosedur Tersimpan

  2. Bagaimana cara memilih seluruh baris yang memiliki ID terbesar dalam tabel?

  3. Cara membuat menu level tak terbatas melalui PHP dan mysql

  4. MySQL Tampilkan Hibah untuk semua Pengguna

  5. Mysql Konversi Kolom ke baris (Tabel pivot)