Artikel ini adalah artikel cermin dari terjemahan mesin, silakan klik di sini untuk melompat ke artikel aslinya.

Melihat: 18434|Jawab: 2

[Sumber] MySQL menggunakan mysqldump untuk mengekspor data dengan kondisi

[Salin tautan]
Diposting pada 26/04/2019 16.07.23 | | | |

Pencadangan dan ekspor database MySQL
https://www.itsvse.com/thread-4004-1-1.html
(Sumber: Architect_Programmer)
MySQLDUMP mengimpor dan mengekspor ringkasan database
https://www.itsvse.com/thread-4353-1-1.html
(Sumber: Architect_Programmer)
MySQLDUMP mengekspor database "akses ditolak"
https://www.itsvse.com/thread-4005-1-1.html
(Sumber: Architect_Programmer)

Seperti yang ditunjukkan pada tautan di atas, konten seluruh database diekspor, apakah dapat diekspor dengan syarat? Tentu saja bisa!


Perintah:

Analisis parameter:

  • -h: Tentukan alamat database
  • --port: Tentukan port database, jika itu adalah port default 3306, itu dapat dihilangkan
  • -u: nomor rekening
  • -p: kata sandi
  • db_name: Ini mengacu pada database mana yang akan diekspor
  • tab_name: Ini mengacu pada tabel mana yang akan diekspor
  • --where: Kriteria filter data
  • --no-create-info: hanya mengekspor data tanpa menambahkan pernyataan CREATE TABLE.


Pada akhirnya, ikuti jalur ke lokasi di mana Anda perlu mengekspor penyimpanan.

Menggambarkan:

-t: Hanya data panduan

--dimana: kondisi

--triggers=false: Jangan memandu pemicu

--replace: Ganti INSERT INTO dengan REPLACE INTO



Parameter:

--semua-database , -A

Ekspor semua database.

mysqldump -uroot -p --all-databases

--semua-ruang meja , -Y

Ekspor semua ruang tabel.

mysqldump -uroot -p --all-databases --all-tablespaces

--no-tablespaces , -y

Tidak ada informasi ruang tabel yang diekspor.

mysqldump -uroot -p --all-databases --no-tablespaces

--add-drop-database

Tambahkan pernyataan drop database sebelum setiap database dibuat.

mysqldump -uroot -p --all-databases --add-drop-database

--add-drop-table

Tambahkan pernyataan tabel drop sebelum setiap tabel data dibuat. (Defaultnya terbuka, gunakan opsi --skip-add-drop-table untuk membatalkan)

mysqldump -uroot -p --all-databases (tambahkan pernyataan drop secara default)

mysqldump -uroot -p --all-databases –skip-add-drop-table (pernyataan undrop)

--tambahkan-kunci

Tambahkan LOCK TABLES sebelum setiap ekspor tabel dan UNLOCK TABLE setelahnya. (default aktif, gunakan opsi --skip-add-locks untuk membatalkan)

mysqldump -uroot -p --all-databases (pernyataan LOCK ditambahkan secara default)

mysqldump -uroot -p --all-databases –skip-add-locks (pernyataan unlock)

--izinkan-kata kunci

Mengizinkan pembuatan nama kolom yang merupakan kata kunci. Ini dilakukan dengan mengawali nama tabel ke setiap nama kolom.

mysqldump -uroot -p --all-databases --allow-keywords

--apply-slave-statement

Tambahkan 'STOP SLAVE' sebelum 'CHANGE MASTER' dan 'START SLAVE' di akhir ekspor.

mysqldump -uroot -p --all-databases --apply-slave-statements

--karakter-set-dir

direktori file set karakter

mysqldump -uroot -p --all-databases --character-sets-dir=/usr/local/mysql/share/mysql/charsets

--komentar

Informasi catatan tambahan. Ini aktif secara default, dan dapat dibatalkan dengan --skip-comments

mysqldump -uroot -p --all-databases (komentar catatan default)

mysqldump -uroot -p --all-databases --skip-comments (uncomment)

--kompatibel

Data yang diekspor akan kompatibel dengan database lain atau versi MySQL yang lebih lama. Nilainya bisa berupa ANSI, MySQL323, MySQL40, PostgreSQL, Oracle, MSSQL, DB2, MaxDB, no_key_options, no_tables_options, no_field_options, dll.,

Untuk menggunakan beberapa nilai, pisahkan dengan koma. Ini tidak dijamin sepenuhnya kompatibel, tetapi sebanyak mungkin.

mysqldump -uroot -p --all-databases --compatible=ansi

--kompak

Ekspor lebih sedikit informasi output (untuk debugging). Hapus struktur seperti anotasi dan kepala dan ekor. Opsi ini tersedia: --skip-add-drop-table --skip-add-locks --skip-comments --skip-disable-keys

mysqldump -uroot -p --all-databases --compact

--lengkap-sisipkan, -c

Gunakan pernyataan sisipan lengkap (termasuk nama kolom). Ini dapat meningkatkan efisiensi penyisipan, tetapi dapat dipengaruhi oleh parameter max_allowed_packet dan menyebabkan kegagalan penyisipan.

mysqldump -uroot -p --all-databases --complete-insert

--kompres, -C

Aktifkan kompresi untuk meneruskan semua informasi antara klien dan server

mysqldump -uroot -p --all-databases --compress

--create-options, -a

Sertakan semua opsi fitur MySQL dalam pernyataan CREATE TABLE. (Default aktif)

mysqldump -uroot -p --all-databases

--database, -B

Ekspor beberapa database. Semua parameter nama setelah parameter diperlakukan sebagai nama database.

mysqldump -uroot -p --databases test mysql

--debug

Keluarkan informasi debug untuk penelusuran kesalahan. Nilai defaultnya adalah: d:t:o,/tmp/mysqldump.trace

mysqldump -uroot -p --all-databases --debug

mysqldump -uroot -p --all-databases --debug=" d:t:o,/tmp/debug.trace"

--debug-periksa

Periksa memori dan buka file petunjuk dan keluar.

mysqldump -uroot -p --all-databases --debug-check

--debug-info

Keluarkan informasi debug dan keluar

mysqldump -uroot -p --all-databases --debug-info

--default-character-set

Atur set karakter default, nilai defaultnya adalah utf8

mysqldump -uroot -p --all-databases --default-character-set=latin1

--sisipkan tertunda

INSERT DELAYED untuk mengekspor data

mysqldump -uroot -p --all-databases --delayed-insert

--delete-master-logs

Master Backup menghapus log. Parameter ini akan secara otomatis mengaktifkan --master-data.

mysqldump -uroot -p --all-databases --delete-master-logs

--nonaktifkan-tombol

Untuk setiap tabel, gunakan /*!40000 ALTER TABLE tbl_name NONAKTIFKAN TOMBOL */; dan /*!40000 UBAH TABEL tbl_name AKTIFKAN KUNCI */; Pernyataan tersebut mereferensikan pernyataan INSERT. Hal ini memungkinkan impor file yang dibuang lebih cepat, karena membuat indeks setelah menyisipkan semua baris. Opsi ini hanya tersedia untuk tabel MyISAM, yang default ke status terbuka.

mysqldump -uroot -p --all-databases

--buang-budak

Opsi ini akan menyebabkan lokasi binlog utama dan nama file ditambahkan ke file tempat data yang diekspor ditambahkan. Saat diatur ke 1, perintah CHANGE MASTER akan digunakan untuk output ke file data. Saat diatur ke 2, tambahkan informasi penjelasan sebelum perintah. Opsi ini akan mengaktifkan --lock-all-tables kecuali --single-transaction ditentukan. Opsi ini secara otomatis mematikan opsi --lock-tables. Nilai defaultnya adalah 0.

mysqldump -uroot -p --all-databases --dump-slave=1

mysqldump -uroot -p --all-databases --dump-slave=2

--peristiwa, -E

Ekspor peristiwa.

mysqldump -uroot -p --all-databases --events

--sisipkan diperpanjang, -e

Gunakan sintaks INSERT dengan beberapa kolom VALUES. Hal ini membuat ekspor file lebih kecil dan mempercepat impor. Default ke open state, gunakan opsi --skip-extended-insert to cancel.

mysqldump -uroot -p --all-databases

mysqldump -uroot -p --all-databases--skip-extended-insert (unoption)

--bidang-diakhiri-oleh

Abaikan bidang yang diberikan dalam file ekspor. Digunakan dengan opsi --tab, bukan untuk opsi --databases dan --all-databases

mysqldump -uroot -p uji coba --tab="/home/mysql" --fields-terminated-by="#"

--bidang-tertutup-oleh

Bidang individual dalam file output dibungkus dengan karakter yang diberikan. Digunakan dengan opsi --tab, bukan untuk opsi --databases dan --all-databases

mysqldump -uroot -p uji uji --tab="/home/mysql" --fields-enclosed-by="#"

--fields-optionally-enclosed-by

Bidang dalam file output secara selektif dibungkus dengan karakter yang diberikan. Digunakan dengan opsi --tab, bukan untuk opsi --databases dan --all-databases

mysqldump -uroot -p test test --tab="/home/mysql" --fields-enclosed-by="#" --fields-optionally-enclosed-by ="#"

--bidang-lolos oleh

Bidang individual dalam file output mengabaikan karakter yang diberikan. Digunakan dengan opsi --tab, bukan untuk opsi --databases dan --all-databases

mysqldump -uroot -p pengguna mysql --tab="/home/mysql" --fields-escaped-by="#"

--flush-log

Segarkan log sebelum memulai ekspor.

Harap diperhatikan: jika Anda mengekspor beberapa database sekaligus (menggunakan opsi --databases atau --all-databases), log akan disegarkan berdasarkan database demi database. Kecuali dengan menggunakan --lock-all-tables atau --master-data. Dalam hal ini, log akan disegarkan sekali dan tabel yang sesuai akan dikunci secara bersamaan. Oleh karena itu, jika Anda berniat untuk mengekspor dan mengolas log secara bersamaan, Anda harus menggunakan --lock-all-tables atau --master-data dan --flush-logs.

mysqldump -uroot -p --all-databases --flush-logs

--flush-privileges

Setelah mengekspor database mysql, keluarkan pernyataan FLUSH PRIVILEGES. Untuk pemulihan yang tepat, opsi ini harus digunakan untuk mengekspor database MySQL dan data database MySQL dependen kapan saja.

mysqldump -uroot -p --all-databases --flush-privileges

--gaya

Abaikan kesalahan SQL yang terjadi selama ekspor.

mysqldump -uroot -p --all-databases --force

--Tolong

Tampilkan informasi bantuan dan keluar.

mysqldump --bantuan

--gumpalan-segi enam

Ekspor bidang string biner menggunakan format hex. Opsi ini harus digunakan jika data biner tersedia. Jenis bidang yang terpengaruh adalah BINARY, VARBINARY, dan BLOB.

mysqldump -uroot -p --all-databases --hex-blob

--host, -h

Informasi host yang perlu diekspor

mysqldump -uroot -p --host=localhost --all-databases

--mengabaikan-tabel

Tabel yang ditentukan tidak diekspor. Saat menentukan bahwa beberapa tabel diabaikan, tabel perlu diulang beberapa kali, satu tabel pada satu waktu. Setiap tabel harus menentukan database dan nama tabel. Misalnya: --ignore-table=database.table1 --ignore-table=database.table2 ......

mysqldump -uroot -p --host=localhost --all-databases --ignore-table=mysql.user

--include-master-host-port

'UBAH MASTER KE..' dihasilkan oleh --dump-slave Tambahkan 'MASTER_HOST=<host>,MASTER_PORT=<port>' ke pernyataan  

mysqldump -uroot -p --host=localhost --all-databases --include-master-host-port

--menyisipkan-mengabaikan

Gunakan pernyataan INSERT IGNORE saat menyisipkan baris.

mysqldump -uroot -p --host=localhost --all-databases --insert-ignore

--garis-berakhir-oleh

Setiap baris file output dibagi dengan string tertentu. Digunakan dengan opsi --tab, bukan untuk opsi --databases dan --all-databases.

mysqldump -uroot -p --host=tes pengujian localhost --tab="/tmp/mysql" --lines-terminated-by="##"

--kunci-semua-tabel, -x

Kirimkan permintaan untuk mengunci semua tabel di semua database untuk memastikan konsistensi data. Ini adalah kunci baca global, dan opsi --single-transaction dan --lock-tables dimatikan secara otomatis.

mysqldump -uroot -p --host=localhost --all-databases --lock-all-tables

--kunci-meja, -l

Kunci semua tabel sebelum memulai ekspor. Kunci tabel dengan READ LOCAL untuk memungkinkan tabel MyISAM disisipkan secara paralel. Untuk tabel yang mendukung transaksi, seperti InnoDB dan BDB,--transaksi tunggal adalah pilihan yang lebih baik karena tidak memerlukan pengunci tabel sama sekali.

Perhatikan bahwa saat mengekspor beberapa database,-- lock-tables mengunci tabel untuk setiap database secara terpisah. Oleh karena itu, opsi ini tidak menjamin konsistensi logis antara database untuk tabel dalam file yang diekspor. Status ekspor tabel database yang berbeda bisa sangat berbeda.

mysqldump -uroot -p --host=localhost --all-databases --lock-tables

--log-error

Melampirkan peringatan dan pesan kesalahan ke file tertentu

mysqldump -uroot -p --host=localhost --all-databases --log-error=/tmp/mysqldump_error_log.err

--data-master

Opsi ini menambahkan lokasi dan nama file binlog ke file output. Jika 1, perintah CHANGE MASTER akan dikeluarkan; Jika 2, tambahkan komentar sebelum perintah CHANGE MASTER keluaran. Opsi akan mengaktifkan opsi --lock-all-tables kecuali transaksi --single- juga ditentukan (dalam hal ini, kunci baca global mendapat waktu singkat saat ekspor dimulai; Untuk konten lainnya, silakan lihat opsi --single-transaction di bawah ini). Opsi ini secara otomatis dimatikan --lock-tables.

mysqldump -uroot -p --host=localhost --all-databases --master-data=1;

mysqldump -uroot -p --host=localhost --all-databases --master-data=2;

--max_allowed_packet

Panjang paket maksimum yang dikirim dan diterima oleh server.

mysqldump -uroot -p --host=localhost --all-databases --max_allowed_packet=10240

--net_buffer_length

Ukuran cache untuk koneksi TCP/IP dan soket.

mysqldump -uroot -p --host=localhost --all-databases --net_buffer_length=1024

--tidak-komit otomatis

Gunakan pernyataan autocommit/commit untuk membungkus tabel.

mysqldump -uroot -p --host=localhost --all-databases --no-autocommit

--tidak-membuat-db, -n

Hanya ekspor data tanpa menambahkan pernyataan CREATE DATABASE.

mysqldump -uroot -p --host=localhost --all-databases --no-create-db

--tidak-membuat-info, -t

Hanya ekspor data tanpa menambahkan pernyataan CREATE TABLE.

mysqldump -uroot -p --host=localhost --all-databases --no-create-info

--tidak ada data, -d

Tidak ada data yang diekspor, hanya struktur tabel database yang diekspor.

mysqldump -uroot -p --host=localhost --all-databases --no-data

--no-set-names, -N

Setara dengan --skip-set-charset

mysqldump -uroot -p --host=localhost --all-databases --no-set-names

--pilih

Setara dengan --add-drop-table, --add-locks, --create- options, --quick, --extended-insert, --lock-tables, --set-charset, --disable-keys Opsi ini diaktifkan secara default, dan dapat dinonaktifkan dengan --skip-opt.

mysqldump -uroot -p --host=localhost --all-databases --opt

--urutan-demi-primer

Jika kunci primer ada, atau kunci unik pertama, urutkan rekaman untuk setiap tabel. Ini berfungsi saat mengekspor tabel MyISAM ke tabel InnoDB, tetapi membuat proses ekspor memakan waktu lama.

mysqldump -uroot -p --host=localhost --all-databases --order-by-primary

--kata sandi, -p

Hubungkan kata sandi database

--pipa (tersedia untuk jendela)

Hubungkan ke mysql menggunakan pipeline bernama

mysqldump -uroot -p --host=localhost --all-databases --pipe

--port, -P

Hubungkan ke nomor port database

--protokol

Protokol koneksi yang digunakan, antara lain: tcp, soket, pipa, memori.

mysqldump -uroot -p --host=localhost --all-databases --protocol=tcp

--cepat, -q

Ekspor langsung ke output standar tanpa kueri buffering. Default aktif, gunakan --skip-quick untuk membatalkan opsi ini.

mysqldump -uroot -p --host=localhost --all-databases

mysqldump -uroot -p --host=localhost --all-databases --skip-quick

--kutipan-nama,-Q

Gunakan (') untuk menyebabkan nama tabel dan kolom. Default aktif, gunakan --skip-quote-names untuk membatalkan opsi ini.

mysqldump -uroot -p --host=localhost --all-databases

mysqldump -uroot -p --host=localhost --all-databases --skip-quote-names

--mengganti

Gunakan REPLACE INTO untuk mengganti INSERT INTO.

mysqldump -uroot -p --host=localhost --all-databases --replace

--berkas-hasil, -r

Keluarkan langsung ke file yang ditentukan. Opsi ini harus digunakan pada sistem yang menggunakan pembungkus baris baru (misalnya DOS, Windows). Opsi ini memastikan bahwa hanya satu baris yang digunakan.

mysqldump -uroot -p --host=localhost --all-databases --result-file=/tmp/mysqldump_result_file.txt

--rutinitas, -R

Ekspor prosedur tersimpan serta fungsi khusus.

mysqldump -uroot -p --host=localhost --all-databases --routines

--set-charset

Tambahkan 'SET NAMES default_character_set' ke file output. Default ke open state, gunakan --skip-set-charset untuk menutup opsi.

mysqldump -uroot -p --host=localhost --all-databases

mysqldump -uroot -p --host=localhost --all-databases --skip-set-charset

--transaksi tunggal

Opsi ini mengirimkan pernyataan BEGIN SQL sebelum mengekspor data, yang tidak memblokir aplikasi apa pun dan menjamin status database yang konsisten pada saat ekspor. Ini hanya berfungsi dengan mesin penyimpanan multi-versi, hanya InnoDB. Opsi ini dan opsi --lock-tables saling eksklusif, karena LOCK TABLES membuat transaksi yang tertunda dilakukan secara implisit. Jika Anda ingin mengekspor tabel besar, Anda harus menggunakan opsi --quick dalam kombinasi.

mysqldump -uroot -p --host=localhost --all-databases --single-transaction

--tanggal pembuangan

Tambahkan waktu ekspor ke file output. Default ke open state, gunakan --skip-dump-date untuk menutup opsi.

mysqldump -uroot -p --host=localhost --all-databases

mysqldump -uroot -p --host=localhost --all-databases --skip-dump-date

--lewati-pilih

Nonaktifkan opsi –opt.

mysqldump -uroot -p --host=localhost --all-databases --skip-opt

--soket,-S

Tentukan lokasi file soket yang terhubung ke mysql, dan jalur defaultnya adalah /tmp/mysql.sock

mysqldump -uroot -p --host=localhost --all-databases --socket=/tmp/mysqld.sock

--tab,-T

Buat file teks pemisahan tab untuk setiap tabel di jalur tertentu. Catatan: Hanya untuk server mysqldump dan mysqld yang berjalan di mesin yang sama.

mysqldump -uroot -p --host=tes pengujian localhost --tab="/home/mysql"

--tabel

Ganti parameter --databases (-B) untuk menentukan nama tabel yang akan diekspor.

mysqldump -uroot -p --host=localhost --database test --tables test

--pemicu

Pemicu ekspor. Opsi ini diaktifkan secara default, nonaktifkan dengan --skip-triggers.

mysqldump -uroot -p --host=localhost --all-databases --triggers

--tz-utc

Atur zona waktu TIME_ZONE='+00:00' di bagian atas ekspor untuk memastikan kebenaran data TIMESTAMP yang diekspor di zona waktu yang berbeda atau saat data dipindahkan ke zona waktu yang berbeda.

mysqldump -uroot -p --host=localhost --all-databases --tz-utc

--pengguna, -u

Tentukan nama pengguna koneksi.

--verbose, --v

Keluarkan beberapa informasi platform.

--versi, -V

Keluarkan informasi versi mysqldump dan keluar

--dimana, -w

Hanya catatan yang dipilih untuk kondisi WHERE yang diberikan yang dibuang. Perhatikan bahwa jika kondisi berisi ruang atau karakter khusus penerjemah perintah, pastikan untuk mereferensikan kondisi tersebut.

mysqldump -uroot -p --host=localhost --all-databases --where=" user='root'"

--xml, -X

Ekspor format XML.

mysqldump -uroot -p --host=localhost --all-databases --xml

--plugin_dir

Direktori plugin sisi klien untuk kompatibilitas dengan versi plugin yang berbeda.

mysqldump -uroot -p --host=localhost --all-databases --plugin_dir="/usr/local/lib/plugin"

--default_auth

Plugin klien menggunakan izin secara default.

mysqldump -uroot -p --host=localhost --all-databases --default-auth="/usr/local/lib/plugin/<PLUGIN>"





Mantan:Saya tidak bisa mendapatkan nilai Json di tabel bootstrap
Depan:Mengonversi hasil kueri ke berbagi skrip format Json
Diposting pada 01/06/2019 02.16.47 |
Terima kasih telah berbagi
 Tuan tanah| Diposting pada 07/02/2021 10.01.20 |
MySQL mengekspor hasil kueri ke file
https://www.itsvse.com/thread-9557-1-1.html
Sanggahan:
Semua perangkat lunak, materi pemrograman, atau artikel yang diterbitkan oleh Code Farmer Network hanya untuk tujuan pembelajaran dan penelitian; Konten di atas tidak boleh digunakan untuk tujuan komersial atau ilegal, jika tidak, pengguna akan menanggung semua konsekuensi. Informasi di situs ini berasal dari Internet, dan sengketa hak cipta tidak ada hubungannya dengan situs ini. Anda harus sepenuhnya menghapus konten di atas dari komputer Anda dalam waktu 24 jam setelah pengunduhan. Jika Anda menyukai program ini, harap dukung perangkat lunak asli, pembelian pendaftaran, dan dapatkan layanan asli yang lebih baik. Jika ada pelanggaran, silakan hubungi kami melalui email.

Mail To:help@itsvse.com