itu memberikan kesalahan "mysqldump: Mendapat kesalahan: 1049: Basis data tidak dikenal 'kata sandi' ketika memilih database" tetapi berfungsi ketika saya menghapus "-p userpassword"
Ateş Danış
11
@ AteşDanış Tidak ada ruang antara -pdan thepassword.
Charles Wood
44
Anda hanya harus menggunakan -pdan kemudian akan diminta kata sandi. Dengan cara ini Anda menghindari kata sandi Anda disimpan misalnya dalam.bash_history
nuala
7
Bagi saya, perintah ini berfungsi: mysqldump -u YourUser -p YourDatabaseName> wantedsqlfile.sql (Ketikkan perintah, tekan enter, lalu kata sandi akan dimasukkan).
shasi kanth
3
Menentukan kata sandi pada baris perintah harus dianggap tidak aman.
Saya pikir Anda melewatkan fakta bahwa dia menggunakan WAMP - Windows ... gunzip / gzip tidak dibundel dengan Windows. Mungkin saja menjalankan perintah Anda setelah menginstal beberapa hal, tetapi saya pikir Anda telah melewatkan fakta itu.
Rolf
2
Menentukan gzip -9membuat file yang dihasilkan sedikit lebih kecil, karena kompresi maksimum digunakan.
AntonK
39
Pertama-tama buka command prompt kemudian buka direktori bin di cmd (saya harap Anda sadar dengan perintah cmd ) buka direktori bin folder MySql Anda di file program WAMP .
Bagi mereka yang mendapatkan kesalahan seperti "Akses ditolak saat menggunakan LOCK TABLES", Anda harus menambahkan parameter "--single-transaction" ke perintah.
Skyrpex
Saya mendapat kesalahan mysqldump: [ERROR] unknown option '--database'tetapi tidak mengikutinya --database.
hejdav
@ Skyrpex Terima kasih, itu solusi yang saya cari.
Martijn
22
Pergi ke command prompt di jalur ini,
C:\Program Files (x86)\MySQL\MySQL Server 5.0\bin>
Kemudian berikan perintah ini untuk mengekspor database Anda ( tanpa spasi setelah -p )
Sekali lagi, W AMP => Windows. yang merupakan perintah Linux. gunzip / gzip tidak dibundel dengan Windows - dan mungkin tidak tersedia. scp ... Anda mengerti intinya.
Rolf
Jawaban dari Opentuned sangat bagus . Satu hal kecil adalah menghapus aktual passworddari baris perintah: mysqldump -u [nama pengguna] -p [dbname]> filename.sql Ini mencegah orang mencari histori kata sandi Anda.
Vincent
1
@Opentuned, Ada apa dengan jimat linux?
Pacerier
untuk -p [pasword] harus dekat misalnya: mysqldump -u tutorials -p'mypassword' -h 127.0.0.1 database_name > file_backup_database_name_.sqlPeringatan: Menggunakan kata sandi pada antarmuka baris perintah dapat menjadi tidak aman.
Marwan Salim
19
Untuk mengekspor PROSEDUR, FUNGSI & PEMICU juga, tambahkan --routinesparameter:
Peralihan --routinesmembuat perbedaan :) Ada petunjuk bagaimana cara mengekspor hanya PROSEDUR, FUNGSI & PEMICU? Bagi mereka yang lupa tentang saklar dan mengekspor "DB murni" tanpa "algoritma" :)
AntonK
BTW sakelar --eventsdiperlukan untuk membuang acara Penjadwal Acara, dan TRIGGER selalu diekspor kecuali --skip-triggersditentukan (berdasarkan 7.4.5.3 Program Tersimpan Dumping )
AntonK
10
Berikan perintah ini untuk mengekspor database Anda, ini akan termasuk tanggal juga
Perhatikan, menetapkan bahwa --databasesakan memasukkan pernyataan sebagai CREATE DATABASE XYZ;dan USE XYZ;, yang tidak berguna ketika mengimpor SQL ke DB lain dengan nama lain ...
AntonK
8
Saya telah menginstal server wamp di drive D: jadi Anda harus pergi ke jalur berikut dari baris perintah ur -> (dan jika Anda telah menginstal server w di drive c: drive maka ganti saja d: wtih c: di sini)
D:\>cd wamp
D:\wamp>cd bin
D:\wamp\bin>cd mysql
D:\wamp\bin\mysql>cd mysql5.5.8(whatever ur verserion will be displayed here use keyboard Tab button andselect the currently working mysql version on your server if you have more than one mysql versions)
D:\wamp\bin\mysql\mysql5.5.8>cd bin
D:\wamp\bin\mysql\mysql5.5.8\bin>mysqldump -u root -p password db_name >"d:\backupfile.sql"
di sini root adalah pengguna kata sandi phpmyadmin saya
adalah kata sandi untuk phpmyadmin jadi jika Anda belum menetapkan kata sandi untuk root hanya ketik apa pun di tempat itu,
db_name adalah basis data (untuk database mana Anda mengambil cadangan), backupfile.sql adalah file yang Anda inginkan cadangan dari database Anda dan Anda juga dapat mengubah lokasi file cadangan (d: \ backupfile.sql) dari ke tempat lain di komputer Anda
Dari semua cara yang saya temukan untuk melakukan ini, jawaban ini adalah satu-satunya yang bekerja untuk saya. Saya menggunakan MySQL versi 5.6, jadi pathnya adalah ... \ MySQL \ MySQL Server 5.6 \ bin untuk command prompt. Anda harus menggunakan nama pengguna dan kata sandi admin MySQL Anda, yang ditentukan untuk basis data tertentu tidak akan berfungsi. Sachin terima kasih. Bahkan petunjuk dalam manual MySQL untuk v.5.6 tidak berfungsi. Sintaksnya tidak lengkap di sana.
Max West
Apakah ini benar-benar berfungsi dengan ruang antara -pdan password?
Masalah dengan semua solusi ini (menggunakan >karakter redirector) adalah Anda menulis dump Anda dari stdout yang dapat merusak pengkodean beberapa karakter dari database Anda.
Jika Anda memiliki masalah penyandian karakter. Seperti :
GALAT 1064 (42000): Anda memiliki kesalahan dalam sintaks SQL Anda; periksa manual yang sesuai dengan versi server MySQL Anda untuk sintaks yang tepat untuk digunakan di dekat ...
maka, Anda HARUS menggunakan -ropsi untuk menulis file.
MySQL
mysqldump -u user -pyour-password-without-space-between-letter-p-and-your-password --default-character-set=utf8 --host $HOST database-name -r dump.sql
Sebaliknya, jangan gunakan <untuk mengimpor dump Anda ke basis data Anda, sekali lagi, karakter non-utf8 Anda mungkin tidak diteruskan; tetapi lebih suka opsi sumber.
mysql -u user -pYourPasswordYouNowKnowHow --default-character-set=utf8 your-database
mysql> SET names 'utf8'
mysql> SOURCE dump.sql
di mana d: \ wamp \ bin \ mysql \ mysql5.6.12 \ bin \ mysqldump.exe akan menjadi jalur mysqldump.exe Anda yang sebenarnya, mydbname adalah nama basis data yang ingin Anda ekspor dan d: \ mydb.sql adalah jalur tempat Anda ingin menyimpan basis data yang diekspor.
--password perlu digunakan jika Anda benar-benar mengetik kata sandi juga
Erce
0
Untuk OS windows :
Ketika Anda mendapatkan kesalahan 1064 mysql (42000) saat mencoba menjalankan perintah mysqldump , keluar dari terminal saat ini. Dan jalankan perintah mysqldump.
echo -e "Welcome to the import/export database utility\n"
echo -e "the default location of mysqldump file is: /opt/lampp/bin/mysqldump\n"
echo -e "the default location of mysql file is: /opt/lampp/bin/mysql\n"read-p 'Would like you like to change the default location [y/n]: ' location_change
read-p "Please enter your username: " u_name
read-p 'Would you like to import or export a database: [import/export]: ' action
echo
mysqldump_location=/opt/lampp/bin/mysqldump
mysql_location=/opt/lampp/bin/mysql
if["$action"=="export"];thenif["$location_change"=="y"];thenread-p 'Give the location of mysqldump that you want to use: ' mysqldump_location
echo
else
echo -e "Using default location of mysqldump\n"
fi
read-p 'Give the name of database in which you would like to export: ' db_name
read-p 'Give the complete path of the .sql file in which you would like to export the database: ' sql_file
$mysqldump_location -u $u_name -p $db_name >$sql_file
elif ["$action"=="import"];thenif["$location_change"=="y"];thenread-p 'Give the location of mysql that you want to use: ' mysql_location
echo
else
echo -e "Using default location of mysql\n"
fi
read-p 'Give the complete path of the .sql file you would like to import: ' sql_file
read-p 'Give the name of database in which to import this file: ' db_name
$mysql_location -u $u_name -p $db_name <$sql_file
else
echo "please select a valid command"
fi
Jawaban:
Pertama periksa apakah baris perintah Anda mengenali perintah mysql. Jika tidak pergi ke perintah & ketik:
Kemudian gunakan perintah ini untuk mengekspor database Anda:
Anda kemudian akan diminta kata sandi basis data .
Ini mengekspor database ke jalur Anda saat ini, saat menjalankan perintah ini
Catatan: Berikut adalah beberapa petunjuk terperinci mengenai impor dan ekspor
sumber
-p
danthepassword
.-p
dan kemudian akan diminta kata sandi. Dengan cara ini Anda menghindari kata sandi Anda disimpan misalnya dalam.bash_history
Cukup gunakan perintah berikut,
Untuk ekspor:
Untuk Impor:
Catatan: Tidak ada ruang antara kata kunci '-p' dan kata sandi Anda.
sumber
gzip -9
membuat file yang dihasilkan sedikit lebih kecil, karena kompresi maksimum digunakan.Pertama-tama buka command prompt kemudian buka direktori bin di cmd (saya harap Anda sadar dengan perintah cmd ) buka direktori bin folder MySql Anda di file program WAMP .
jalankan perintah
tekan enter sistem akan mengekspor database tertentu dan membuat file sql ke lokasi yang diberikan.
Saya harap Anda mendapatkannya :) jika Anda memiliki pertanyaan, silakan beri tahu saya.
sumber
Anda dapat menggunakan perintah di bawah ini,
mysqldump --databases --user=root --password your_db_name > export_into_db.sql
dan file yang dihasilkan akan tersedia di direktori yang sama di mana Anda menjalankan perintah ini.
Anda dapat menemukan lebih banyak di referensi resmi untuk
mysqldump
: Impor Ekspor MySQL DBCatatan : gunakan
--databases
alih-alih--database
karena yang terakhir tidak lagi didukung.Nikmati :)
sumber
mysqldump: [ERROR] unknown option '--database'
tetapi tidak mengikutinya--database
.Pergi ke command prompt di jalur ini,
C:\Program Files (x86)\MySQL\MySQL Server 5.0\bin>
Kemudian berikan perintah ini untuk mengekspor database Anda ( tanpa spasi setelah -p )
mysqldump -u[username] -p[userpassword] yourdatabase > [filepath]wantedsqlfile.sql
sumber
Temukan instance mysql Anda dengan:
Jika ini benar maka ekspor dengan yang berikut ini (jika tidak, navigasikan ke instance mysql di folder mamp di bin):
Dan jika Anda ingin mengancingkannya di waktu yang sama:
Anda kemudian dapat memindahkan file ini antara server dengan:
(di mana xxx.xxx.xxx.xxx adalah alamat IP server)
Dan kemudian impor dengan:
sumber
password
dari baris perintah: mysqldump -u [nama pengguna] -p [dbname]> filename.sql Ini mencegah orang mencari histori kata sandi Anda.mysqldump -u tutorials -p'mypassword' -h 127.0.0.1 database_name > file_backup_database_name_.sql
Peringatan: Menggunakan kata sandi pada antarmuka baris perintah dapat menjadi tidak aman.Untuk mengekspor PROSEDUR, FUNGSI & PEMICU juga, tambahkan
--routines
parameter:mysqldump -u YourUser -p YourDatabaseName --routines > wantedsqlfile.sql
sumber
--routines
membuat perbedaan :) Ada petunjuk bagaimana cara mengekspor hanya PROSEDUR, FUNGSI & PEMICU? Bagi mereka yang lupa tentang saklar dan mengekspor "DB murni" tanpa "algoritma" :)--events
diperlukan untuk membuang acara Penjadwal Acara, dan TRIGGER selalu diekspor kecuali--skip-triggers
ditentukan (berdasarkan 7.4.5.3 Program Tersimpan Dumping )Berikan perintah ini untuk mengekspor database Anda, ini akan termasuk tanggal juga
(tanpa spasi setelah -p)
sumber
--databases
akan memasukkan pernyataan sebagaiCREATE DATABASE XYZ;
danUSE XYZ;
, yang tidak berguna ketika mengimpor SQL ke DB lain dengan nama lain ...Saya telah menginstal server wamp di drive D: jadi Anda harus pergi ke jalur berikut dari baris perintah ur -> (dan jika Anda telah menginstal server w di drive c: drive maka ganti saja d: wtih c: di sini)
di sini root adalah pengguna kata sandi phpmyadmin saya adalah kata sandi untuk phpmyadmin jadi jika Anda belum menetapkan kata sandi untuk root hanya ketik apa pun di tempat itu, db_name adalah basis data (untuk database mana Anda mengambil cadangan), backupfile.sql adalah file yang Anda inginkan cadangan dari database Anda dan Anda juga dapat mengubah lokasi file cadangan (d: \ backupfile.sql) dari ke tempat lain di komputer Anda
sumber
-p
danpassword
?Contoh di localhost
sumber
Masalah dengan semua solusi ini (menggunakan
>
karakter redirector) adalah Anda menulis dump Anda dari stdout yang dapat merusak pengkodean beberapa karakter dari database Anda.Jika Anda memiliki masalah penyandian karakter. Seperti :
maka, Anda HARUS menggunakan
-r
opsi untuk menulis file.MySQL
Menggunakan Docker
Catatan: ini memasang jalur saat ini sebagai dump di dalam instance.
Kami menemukan jawabannya di sini
Sebaliknya, jangan gunakan
<
untuk mengimpor dump Anda ke basis data Anda, sekali lagi, karakter non-utf8 Anda mungkin tidak diteruskan; tetapi lebih suka opsi sumber.sumber
Sintaksis
Contoh
di mana d: \ wamp \ bin \ mysql \ mysql5.6.12 \ bin \ mysqldump.exe akan menjadi jalur mysqldump.exe Anda yang sebenarnya, mydbname adalah nama basis data yang ingin Anda ekspor dan d: \ mydb.sql adalah jalur tempat Anda ingin menyimpan basis data yang diekspor.
sumber
Saya telah menggunakan server wamp. Saya mencoba
root
adalah nama pengguna saya untuk mysql, dan jika Anda memiliki kata sandi, tentukan dengan:Semoga berhasil.
sumber
Untuk OS windows :
Ketika Anda mendapatkan kesalahan 1064 mysql (42000) saat mencoba menjalankan perintah mysqldump , keluar dari terminal saat ini. Dan jalankan perintah mysqldump.
sumber
Saya mencoba untuk mengambil dump dari db yang berjalan pada buruh pelabuhan dan datang dengan perintah di bawah ini untuk mencapai yang sama:
exec buruh pelabuhan
<container_id/name>
/ usr / bin / mysqldump -u<db_username>
--password =<db_password>
db_name
> .sqlSemoga ini membantu!
sumber
Anda dapat menggunakan skrip ini untuk mengekspor atau mengimpor basis data dari terminal yang diberikan di tautan ini: https://github.com/Ridhwanluthra/mysql_import_export_script/blob/master/mysql_import_export_script.sh
sumber