Saya memiliki database yang cukup besar sehingga saya ingin mengekspornya menggunakan Command Prompt tetapi saya tidak tahu caranya.
Saya menggunakan WAMP.
Saya memiliki database yang cukup besar sehingga saya ingin mengekspornya menggunakan Command Prompt tetapi saya tidak tahu caranya.
Saya menggunakan WAMP.
Jawaban:
Pertama periksa apakah baris perintah Anda mengenali perintah mysql. Jika tidak pergi ke perintah & ketik:
set path=c:\wamp\bin\mysql\mysql5.1.36\bin
Kemudian gunakan perintah ini untuk mengekspor database Anda:
mysqldump -u YourUser -p YourDatabaseName > wantedsqlfile.sql
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
-p
dan thepassword
.
-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:
mysqldump -u [user] -p [db_name] | gzip > [filename_to_compress.sql.gz]
Untuk Impor:
gunzip < [compressed_filename.sql.gz] | mysql -u [user] -p[password] [databasename]
Catatan: Tidak ada ruang antara kata kunci '-p' dan kata sandi Anda.
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
mysqldump -u db_username -p database_name > path_where_to_save_sql_file
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.
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 DB
Catatan : gunakan --databases
alih-alih --database
karena yang terakhir tidak lagi didukung.
Nikmati :)
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
Temukan instance mysql Anda dengan:
which mysql
Jika ini benar maka ekspor dengan yang berikut ini (jika tidak, navigasikan ke instance mysql di folder mamp di bin):
mysqldump -u [username] -p [password] [dbname] > filename.sql
Dan jika Anda ingin mengancingkannya di waktu yang sama:
mysqldump -u [username] -p [password] [db] | gzip > filename.sql.gz
Anda kemudian dapat memindahkan file ini antara server dengan:
scp user@xxx.xxx.xxx.xxx:/path_to_your_dump/filename.sql.gz your_detination_path/
(di mana xxx.xxx.xxx.xxx adalah alamat IP server)
Dan kemudian impor dengan:
gunzip filename.sql.gz | mysql -u [user] -p [password] [database]
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
--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
mysqldump -u[username] -p[userpassword] --databases yourdatabase | gzip > /home/pi/database_backup/database_`date '+%m-%d-%Y'`.sql.gz
(tanpa spasi setelah -p)
--databases
akan memasukkan pernyataan sebagai CREATE DATABASE XYZ;
dan USE 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)
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 and select 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
-p
dan password
?
mysqldump -h [host] -p -u [user] [database name] > filename.sql
Contoh di localhost
mysqldump -h localhost -p -u root cookbook > cookbook.sql
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 -r
opsi 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
Menggunakan Docker
docker exec --rm -v $pwd:dump -it mysql:5:7 mysqldump -u user -pyour-password-without-space-between-letter-p-and-your-password --default-character-set=utf8 --host $HOST database-name -r dump/dump.sql
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.
mysql -u user -pYourPasswordYouNowKnowHow --default-character-set=utf8 your-database
mysql> SET names 'utf8'
mysql> SOURCE dump.sql
(mysqldump.exe full path) -u (user name) -p (password) (database name) > (export database file full path)
c:>d:\wamp\bin\mysql\mysql5.6.12\bin\mysqldump.exe -u root -p mydbname > d:\mydb.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.
Saya telah menggunakan server wamp. Saya mencoba
c:\wamp\bin\mysql\mysql5.5.8\bin\mysqldump -uroot -p db_name > c:\somefolder\filename.sql
root
adalah nama pengguna saya untuk mysql, dan jika Anda memiliki kata sandi, tentukan dengan:
-p[yourpassword]
Semoga berhasil.
Untuk OS windows :
Ketika Anda mendapatkan kesalahan 1064 mysql (42000) saat mencoba menjalankan perintah mysqldump , keluar dari terminal saat ini. Dan jalankan perintah mysqldump.
mysql>exit
c:\xampp\mysql\bin>mysqldump -uroot -p --databases [database_name] > name_for_export_db.sql
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
> .sql
Semoga ini membantu!
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
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" ]; then
if [ "$location_change" == "y" ]; then
read -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" ]; then
if [ "$location_change" == "y" ]; then
read -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