Bagaimana saya bisa mengimpor database dengan MySQL dari terminal?


373

Bagaimana saya bisa mengimpor database dengan mysql dari terminal?

Saya tidak dapat menemukan sintaks yang tepat.

Jawaban:


761

Dengan asumsi Anda menggunakan konsol Linux atau Windows:

Prompt untuk kata sandi:

mysql -u <username> -p <databasename> < <filename.sql>

Masukkan kata sandi secara langsung (tidak aman):

mysql -u <username> -p<PlainPassword> <databasename> < <filename.sql>

Contoh:

mysql -u root -p wp_users < wp_users.sql

mysql -u root -pPassword123 wp_users < wp_users.sql

Lihat juga:

4.5.1.5. Menjalankan Pernyataan SQL dari File Teks


Catatan : Jika Anda berada di windows maka Anda harus cd(mengubah direktori) ke direktori MySQL / bin Anda di dalam CMD sebelum menjalankan perintah.


139
+1 kecuali Anda tidak boleh memasukkan kata sandi Anda sebagai parameter CLI. Cukup tentukan opsi -p dan masukkan secara manual setelah diminta.
— St.Woland

13
Tidak ada ruang antara -p dan kata sandi jika Anda ingin memasukkannya dengan shell.
— Kethryweryn

8
mysql -u username -h hostname -pwordword databasename <filename.sql untuk host jarak jauh dari terminal
— Shaik Rilwan

8
jika Anda sudah berada di dalam prompt perintah mysql (mysql>), maka cukup ketik sumber full_path_of_file (catatan: pilih basis data dengan perintah USE DATABASE_NAME sebelum mengimpor).
— Ankit Sharma

3
@ Pekka 웃, Jika kita menggunakan source, kita dapat melihat pesan informasi ( "baris yang terpengaruh" ) dan pesan kesalahan. Tetapi menggunakan solusi Anda, Bagaimana kami melihat pesan menggunakan < filename.sql?
— Pacerier

141

Cara yang lebih disukai untuk windows:

  1. Buka konsol dan mulai mode MySQL interaktif

  2. use <name_of_your_database>;

  3. source <path_of_your_.sql>


2
mengapa kita tidak membutuhkan; setelah nama file?
— Nabeel Khan

6
@NabeelKhan Sebagian besar pernyataan SQL memerlukan ;di akhir pernyataan, tetapi ada beberapa pengecualian, termasuk USEdan SOURCE.
— Simon East

1
Saya ingin tahu apakah ini berkinerja lebih cepat daripada memipipkan file (seperti dalam jawaban yang diterima). Kecurigaan saya adalah ya .
— Simon East

Ini jauh lebih cepat daripada mengimpor melalui HeidiSQL ... 3GB dalam 20 menit!
— kmdsax

Ingin tahu. Ketika saya dihapus ;dengan sourceperintah berhasil dijalankan. Sebelumnya tidak.
— Nikos

33

mysql -u <USERNAME> -p <DB NAME> < <dump file path>

-u - untuk Nama Pengguna

-p - untuk meminta kata sandi

Misalnya. mysql -u root -p mydb < /home/db_backup.sql

Anda juga dapat memberikan kata sandi yang didahului oleh -p tetapi untuk alasan keamanan tidak disarankan. Kata sandi akan muncul pada perintah itu sendiri agak tertutup.


2
Inilah jawaban yang saya cari. "<" Ini adalah tanda yang kutinggalkan.
— Pravinraj Venkatachalam

Jika mydb tidak ada maka bagaimana cara membuatnya secara dinamis ketika kita menjalankan perintah mysqldump?
— अक्षय परूळेकर

12

Langsung dari var / www / html

mysql -u username -p database_name < /path/to/file.sql

Dari dalam mysql:

mysql> use db_name;
mysql> source backup-file.sql

7

Dari Terminal:

mysql -uroot -p --default-character-set=utf8 database_name </database_path/database.sql


6

Saya biasanya menggunakan perintah ini untuk memuat data SQL saya ketika dibagi dalam file dengan nama: 000-tableA.sql, 001-tableB.sql, 002-tableC.sql.

for anyvar in *.sql; do <path to your bin>/mysql -u<username> -p<password>  <database name> < $anyvar; done

Bekerja dengan baik pada shell OSX.


5

Cara memuat dari baris perintah

Penjelasan:

  1. Pertama buat database atau gunakan database yang sudah ada. Dalam kasus saya, saya menggunakan database yang sudah ada

  2. Memuat database dengan memberikan <name of database> = ClassicModelsdalam kasus saya dan menggunakan operator <memberi jalan kedatabase = sakila-data.sql

  3. Dengan menjalankan tabel acara, saya mendapatkan daftar tabel seperti yang Anda lihat.

Catatan: Dalam kasus saya, saya mendapatkan kesalahan 1062 , karena saya mencoba memuat hal yang sama lagi.


5
mysql -u username -ppassword dbname < /path/file-name.sql

contoh

mysql -u root -proot product < /home/myPC/Downloads/tbl_product.sql

Gunakan ini dari terminal


5

Perintah di bawah ini berfungsi pada ubuntu 16.04, saya tidak yakin apakah itu berfungsi atau tidak pada platform Linux lainnya.

Ekspor file SQL:

$ mysqldump -u [user_name] -p [database_name] < [database_name.sql]  

Contoh: mysqldump -u root -p max_development> max_development.sql

Impor file SQL:

$ mysqldump -u [user_name] -p [database_name] > [file_name.sql]

Example: mysqldump -u root -p max_production < max_development.sql

Catatan file SQL harus ada direktori yang sama


5

Buka Terminal Lalu

 mysql -u root -p

 eg:- mysql -u shabeer -p

Setelah Itu Buat Database

 mysql> create database "Name";

 eg:- create database INVESTOR;

Kemudian Pilih Basis Data Baru "INVESTOR"

 mysql> USE INVESTOR;

Pilih jalur file sql dari mesin

 mysql> source /home/shabeer/Desktop/new_file.sql;

Kemudian tekan enter dan tunggu beberapa kali jika semuanya sudah dijalankan

 mysql> exit

masukkan deskripsi gambar di sini


4
  1. Buka Klien Baris Perintah MySQL dan ketik kata sandi Anda

  2. Ubah ke database yang ingin Anda gunakan untuk mengimpor data file .sql ke. Lakukan ini dengan mengetik:

    USE your_database_name
  3. Sekarang cari file .sql yang ingin Anda jalankan.
    Jika file tersebut berada di direktori drive C: lokal utama dan nama file skrip .sql adalah currentSqlTable.sql, Anda harus mengetikkan yang berikut:

    \. C:\currentSqlTable.sql

    dan tekan Enteruntuk menjalankan file skrip SQL.


7
Apa Gambar 1/2/3?
— glglgl

4

Setelah berjuang untuk beberapa waktu saya menemukan informasi di https://tommcfarlin.com/importing-a-large-database/

  1. Terhubung ke Mysql (mari gunakan root untuk nama pengguna dan kata sandi):

    mysql -uroot -proot
  2. Hubungkan ke database (katakanlah itu disebut emptyDatabase (Anda harus mendapatkan pesan konfirmasi):

    connect emptyDatabase

3 Impor kode sumber, misalkan file tersebut disebut mySource.sql dan ada di folder bernama mySoureDb di bawah profil pengguna yang disebut myUser:

source /Users/myUser/mySourceDB/mySource.sql

3

Jika Anda menggunakan sakila-db dari situs web mysql, sangat mudah di platform Linux cukup ikuti langkah-langkah yang disebutkan di bawah ini, Setelah mengunduh file zip sakila-db , ekstrak. Sekarang Anda akan memiliki dua file, satu adalah sakila-schema.sql dan yang lainnya adalah sakila-data.sql .


  1. Terminal terbuka
  2. Masukkan perintah mysql -u root -p <sakila-schema.sql
  3. Masukkan perintah mysql -u root -p <sakila-data.sql
  4. Sekarang masukkan perintah mysql -u root -p dan masukkan kata sandi Anda, sekarang Anda telah masuk ke sistem mysql dengan database default .
  5. Untuk menggunakan database sakila, gunakan perintah ini menggunakan sakila;
  6. Untuk melihat tabel di sakila-db, gunakan perintah show tables

Harap perhatikan bahwa file yang diekstrak ada di direktori home .


2

Di Ubuntu, dari monitor MySQL , Anda sudah menggunakan sintaks ini:

mysql> use <dbname> -> Pernyataan USE memberitahu MySQL untuk digunakan dbnamesebagai database default untuk pernyataan selanjutnya

mysql> source <file-path>

misalnya :

mysql> use phonebook;

mysql> source /tmp/phonebook.sql;

Penting : pastikan file sql berada di direktori yang dapat diakses mysql ke like / tmp


1

Sebelum menjalankan perintah di terminal, Anda harus memastikan bahwa Anda telah menginstal MySQL di terminal Anda.

Anda dapat menggunakan perintah berikut untuk menginstalnya:

sudo apt-get update
sudo apt-get install mysql-server

Segarkan di sini .

Setelah itu Anda dapat menggunakan perintah berikut untuk mengimpor database:

mysql -u <username> -p <databasename> < <filename.sql>

1

Cara termudah untuk mengimpor database di MYSQL Anda dari terminal dilakukan oleh proses yang disebutkan di bawah ini -

mysql -u root -p root database_name < path to your .sql file

Apa yang saya lakukan di atas adalah:

  1. Masuk ke mysql dengan nama pengguna dan kata sandi saya (ini dia root& root)
  2. Setelah memasukkan kata sandi, saya memberikan nama database tempat saya ingin mengimpor file .sql saya. Pastikan database sudah ada di MYSQL Anda
  3. Nama database diikuti oleh <dan kemudian path ke file .sql Anda. Misalnya, jika file saya disimpan di Desktop, jalurnya akan/home/Desktop/db.sql

Itu dia. Setelah Anda melakukan semua ini, tekan enter dan tunggu file .sql Anda untuk diunggah ke database masing-masing


0

Tidak boleh ada spasi antara -p dan kata sandi

mysql -u [dbusername] -p[dbpassword] [databasename] < /home/serverusername/public_html/restore_db/database_file.sql

Saya selalu menggunakannya, ia bekerja dengan sempurna. Terima kasih untuk menanyakan pertanyaan ini. Semoga hari mu menyenangkan. Njoy :)


kami juga dapat mengatur pengaturan ini dalam pekerjaan cron (tugas jadwal) pada server bersama, khusus dan cloud untuk mengatur ulang atau mengimpor basis data dari waktu ke waktu secara otomatis.
— Kamlesh
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.