Bagaimana cara mengimpor file .sql di MySQL?


39

Saya mencoba mengimpor file .sql menggunakan MySQL Workbench dan saya mendapatkan kesalahan ini:

ERROR 1046 (3D000) at line 28: No database selected

Saya pertama kali membuat database kosong yang disebut dengan nama yang sama dengan file .sql tetapi tidak berfungsi. Saya juga mencoba melakukannya dengan klien perintah mysql menggunakan:

mysqldump -u root database > file.sql 

Tetapi dikatakan memiliki kesalahan dalam sintaks SQL saya. Selain itu, saya tidak tahu jalan di mana saya harus mengatur file.sql.


Saya dapat mengimpor mysqldump menggunakan mysql di bawah ini> menggunakan mydatabase; mysql> source sql_file.sql;
Giridharan Venugopal

Jawaban:


49

Ekspor:

mysqldump -u username –-password=your_password database_name > file.sql

Impor:

mysql -u username –-password=your_password database_name < file.sql 

9
Tidak boleh ada jarak antara -pdanpassword
tombom

Bagaimana jika saya tidak memiliki kata sandi?

Kemudian lewati parameter kata sandi.
Kazimieras Aliulis

Piping ( mysqldump db -uuser -ppass|mysql new_db -uuser -ppass) menghapus kebutuhan untuk menggunakan file perantara.
Pacerier

2
Basis data harus ada di MySQL agar ini berfungsi, saya pikir.
Noumenon

28

Anda juga dapat mengimpor file .sql sebagai pengguna yang sudah terhubung ke cara database:

mysql> use your_database_name;

mysql> source file.sql;

3
sumber D: /path/file.sql; bekerja luar biasa! ingat slash depan, bukan back slash.
Imdad

6

Cara lain untuk mengimpor file dump saat source <filename> tidak berfungsi adalah dengan melakukan hal berikut:

Membuang

~> mysqldump --user=<user> --password=<password> <db_name> > <export_file_name>.sql

Impor

> mysql -u <user> -p <pass> <db_name>
mysql> USE <db_name>;  (if you didn't already select)
mysql> \. ~/<export_file_name>.sql

5

Jawaban juergen d tentu saja benar; Namun, mengingat pesan kesalahan Anda, Anda juga dapat menambahkan ke file SQL Anda di baris awal seperti:

USE your_database_name;

Ini juga harus melakukan pekerjaan dan membiarkan Anda mengimpor di bawah Workbench.

Saat Anda menggunakan mysqldump, file yang diekspor akan disimpan di folder saat ini. Tidak masalah di bawah jalan apa itu. Hanya ketika mengimpor dari baris perintah Anda harus berada di folder yang sama atau menentukan path ke file. Tapi ini tidak terjadi ketika Anda menggunakan alat visual seperti Workbench, di mana Anda harus memilih file dari folder tree.


2

Anda kehilangan kata sandi dalam perintah. Gunakan yang berikut ini.

mysql --u [username] --password=[password] [database name] < [dump file]

1

Untuk Windows, di direktori instalasi server MySQL (misalnya C:\Program Files\MySQL\MySQL Server 5.5), di my.ini file, tambahkan baris berikut [mysqld]di bawah di bagian server:

max_allowed_packet = 16M

Dan simpan perubahannya. (Jika Anda tidak diizinkan menyimpan, maka salin dan tempel ke desktop dan edit lagi, lalu tempel di lokasi yang sama.)

Setelah itu, restart server MySQL Anda.

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.