Apa itu file dump mysql?

Aplikasi web saat ini dapat menghasilkan sejumlah besar artikel, posting pengguna, komentar, dan banyak jenis data lainnya. Semua konten web itu disimpan dalam database aplikasi web Anda saat ini. Untuk melindungi informasi situs web Anda, Anda harus melakukan pencadangan mingguan atau bahkan harian. Anda dapat memilih jadwal pencadangan sesuai dengan tujuan penggunaan basis data Anda - untuk menyimpan pesan forum, informasi pelanggan, informasi produk toko elektronik, atau jenis data lainnya

Isi

Apa itu dump MySQL?

Anda juga harus tahu bahwa database MySQL hanyalah file yang disimpan di server web Anda. Seluruh proses pencadangan dan pemulihan sangat mudah setelah Anda mempelajari cara melakukannya. Ada berbagai cara untuk melakukan backup MySQL. Namun, apa pun aplikasi, alat panel kontrol, atau skrip SSH yang Anda gunakan, semua cadangan dapat berupa cadangan dump atau mentah

Dump MySQL adalah solusi pencadangan universal. Ini sedikit lebih lambat daripada cadangan mentah, karena ini mencakup semua kueri SQL yang diperlukan untuk membuat ulang tabel database, serta semua kueri penyisipan yang diperlukan untuk menempatkan informasi kembali ke tabel database. Dengan menggunakan dump MySQL, Anda dapat dengan mudah memindahkan [semua konten] situs web Anda dari satu penyedia hosting ke penyedia hosting lainnya. Juga, jika Anda berencana untuk membuat beberapa perubahan pada database Anda, ada baiknya untuk membuat dump MySQL terlebih dahulu. Solusi pencadangan dump MySQL cocok untuk mencadangkan seluruh basis data, serta satu tabel basis data

Cara membuat dump MySQL melalui baris perintah SQL

Jika Anda ingin melakukan dump MySQL secara manual, tanpa menggunakan alat PHPMyAdmin atau lingkungan grafis lainnya, Anda harus terhubung ke database Anda melalui SSH dan menjalankan perintah berikut

Contoh tentang cara membuat dump MySQL menggunakan baris perintah SQL

mysqldump --tab=/path/to/some/dir --opt database_name

Cara membuat file dump MySQL menggunakan alat PHPMyAdmin

PHPMyAdmin memberi kami lingkungan grafis yang kaya fitur. Pembuatan dump cadangan MySQL menggunakan alat PHPMyAdmin lebih sederhana dari sebelumnya, Anda hanya perlu menggunakan fungsi ekspor internal untuk membuat file dump dalam berbagai format. Untuk ikhtisar mendetail tentang cara membuat file dump MySQL, silakan periksa video di bawah ini

Cara membuat dump MySQL di PHPMyAdmin [video]

Cara mengembalikan database MySQL dari cadangan

Jika Anda ingin memulihkan file cadangan SQL Anda secara manual, Anda hanya perlu masuk ke alat PHPMyAdmin Anda dan menggunakan tab SQL untuk mengimpor basis data Anda

PHP dirancang untuk dengan mudah diintegrasikan ke dalam situs web. Salah satu penggunaan paling umum untuk PHP adalah mengambil konten dari database dan menampilkannya di halaman HTML. Tutorial ini akan membahas cara menghubungkan ke database MySQL/MariaDB, menarik informasi dari tabel sederhana, dan menampilkannya dalam tabel HTML sederhana

Cara termudah untuk menjalankan database MySQL pada instance cloud adalah dengan menggunakan MySQL ServerTemplates dari RightScale. Tutorial Penyiapan Database MySQL berasumsi bahwa Anda sudah memiliki file dump MySQL yang dapat digunakan untuk menyiapkan database di cloud. Jika Anda tidak memiliki file dump MySQL, gunakan petunjuk berikut untuk membuatnya

Menjawab

Langkah-langkah di bawah ini menjelaskan cara membuat file dump MySQL, yang kemudian dapat digunakan untuk menginisialisasi database menggunakan MySQL ServerTemplates dari RightScale

Anda dapat membuat dan mengompres file dump MySQL Anda dengan mengikuti langkah-langkah ini

  1. Dari baris perintah pada mesin tempat MySQL diinstal [secara lokal atau dalam sesi SSH], jalankan

    mysqldump -uusername -ppassword \ --opt > myDBDump
    
  2. Kemudian, Anda dapat memeriksa file keluaran dengan editor teks untuk memverifikasi integritas data

  3. Selanjutnya, untuk merampingkan proses transfer data, gunakan gzip untuk mengompres file dump

    gzip -c myDBDump
    
    _
  4. Kemudian, Anda harus mengunggah file myDBDump.gz ke bucket S3. Saat Anda membuat database MySQL di server database, Anda akan menjalankan skrip [volume DB Create MySQL EBS Stripe] yang akan membuat dan melampirkan volume yang akan digunakan untuk menyimpan data MySQL Anda

Sebagai alternatif, Anda dapat menggabungkan langkah-langkah di atas menjadi satu perintah;

Klien

--fields-enclosed-by='"'
5 adalah program cadangan yang aslinya ditulis oleh Igor Romanenko. Ini dapat digunakan untuk membuang database atau kumpulan database untuk cadangan atau transfer ke server database lain [tidak harus MariaDB atau MySQL]. Dump biasanya berisi pernyataan SQL untuk membuat tabel, mengisinya, atau keduanya. Namun,
--fields-enclosed-by='"'
_5 juga dapat digunakan untuk menghasilkan file dalam format CSV, teks terbatas lainnya, atau XML

Jika Anda melakukan pencadangan di server dan semua tabel Anda adalah tabel MyISAM, pertimbangkan untuk menggunakan mysqlhotcopy sebagai gantinya karena dapat menyelesaikan pencadangan lebih cepat dan pemulihan lebih cepat

mysqldump dump memicu bersama dengan tabel, karena ini adalah bagian dari definisi tabel. Namun, prosedur tersimpan, tampilan, dan acara tidak, dan membutuhkan parameter tambahan untuk dibuat ulang secara eksplisit [misalnya,

--fields-enclosed-by='"'
8 dan
--fields-enclosed-by='"'
9]. Namun, prosedur dan fungsi juga merupakan bagian dari tabel sistem [misalnya mysql. proses]

--fields-enclosed-by='"'
5 mendukung

Pertunjukan

mysqldump biasanya tidak menghabiskan banyak sumber daya CPU pada perangkat keras modern karena secara default menggunakan satu utas. Metode ini bagus untuk server yang sarat muatan

Input/output disk per detik [IOPS], namun dapat meningkat karena berbagai alasan. Saat Anda mencadangkan pada perangkat yang sama dengan database, ini menghasilkan IOPS acak yang tidak perlu. Dump dilakukan secara berurutan, berdasarkan per tabel, menyebabkan pemindaian tabel penuh dan banyak halaman buffer terlewatkan pada tabel yang tidak sepenuhnya di-cache di memori

Anda disarankan untuk mencadangkan dari lokasi jaringan untuk menghapus IOPS disk di server database, tetapi sangat penting untuk menggunakan kartu jaringan terpisah agar bandwidth jaringan tetap tersedia untuk lalu lintas reguler

Meskipun mysqldump secara default akan mempertahankan sumber daya Anda untuk disk spindel reguler dan perangkat keras berinti rendah, ini tidak berarti bahwa dump bersamaan tidak dapat memanfaatkan arsitektur perangkat keras seperti SAN, penyimpanan flash, beban kerja tulis rendah. Waktu pencadangan akan mendapat manfaat dari alat seperti MyDumper

Penggunaan

Ada empat cara umum untuk memanggil

--fields-enclosed-by='"'
5

shell> mysqldump [options] db_name [tbl_name ...]
shell> mysqldump [options] --databases db_name ...
shell> mysqldump [options] --all-databases
shell> mysqldump [options] --system=[option_list]
_

Jika Anda tidak memberi nama tabel apa pun setelah db_name atau jika Anda menggunakan opsi

--fields-enclosed-by=0x22
2 atau
--fields-enclosed-by=0x22
3, seluruh database akan dibuang

--fields-enclosed-by='"'
5 tidak membuang database INFORMATION_SCHEMA [atau PERFORMANCE_SCHEMA, jika diaktifkan] secara default. MariaDB membuang
--fields-enclosed-by=0x22
5 jika Anda menamainya secara eksplisit di baris perintah, meskipun saat ini Anda juga harus menggunakan opsi
--fields-enclosed-by=0x22
6

Untuk melihat daftar opsi yang didukung versi

--fields-enclosed-by='"'
5 Anda, jalankan
--fields-enclosed-by=0x22
8

Baris demi Baris vs. Penyangga

--fields-enclosed-by='"'
5 dapat mengambil dan membuang konten tabel baris demi baris, atau dapat mengambil seluruh konten dari tabel dan menyangganya di memori sebelum membuangnya. Buffer di memori bisa menjadi masalah jika Anda membuang tabel besar. Untuk membuang tabel baris demi baris, gunakan opsi
shell> mysqldump --xml -u root world City














1
Kabul
AFG
Kabol
1780000

...

4079
Rafah
PSE
Rafah
92020




0 [atau
shell> mysqldump --xml -u root world City














1
Kabul
AFG
Kabol
1780000

...

4079
Rafah
PSE
Rafah
92020




1, yang mengaktifkan
shell> mysqldump --xml -u root world City














1
Kabul
AFG
Kabol
1780000

...

4079
Rafah
PSE
Rafah
92020




0]. Opsi
shell> mysqldump --xml -u root world City














1
Kabul
AFG
Kabol
1780000

...

4079
Rafah
PSE
Rafah
92020




_1 [dan karenanya
shell> mysqldump --xml -u root world City














1
Kabul
AFG
Kabol
1780000

...

4079
Rafah
PSE
Rafah
92020




0] diaktifkan secara default, jadi untuk mengaktifkan buffering memori, gunakan
shell> mysqldump --xml -u root world City














1
Kabul
AFG
Kabol
1780000

...

4079
Rafah
PSE
Rafah
92020




5

--fields-enclosed-by='"'
5 di MariaDB 10. 3 termasuk logika untuk melayani mysql. tabel transaction_registry.
--fields-enclosed-by='"'
5 dari rilis MariaDB sebelumnya tidak dapat digunakan pada MariaDB 10. 3 dan seterusnya

mysqldump dan Versi Lama MySQL

Jika Anda menggunakan versi terbaru

--fields-enclosed-by='"'
_5 untuk menghasilkan dump yang akan dimuat ulang ke server MySQL yang sangat lama, sebaiknya Anda tidak menggunakan opsi
shell> mysqldump --xml -u root world City














1
Kabul
AFG
Kabol
1780000

...

4079
Rafah
PSE
Rafah
92020




1 atau
mysql db_name < backup-file.sql
0. Gunakan
mysql db_name < backup-file.sql
_1 sebagai gantinya

Pilihan

--fields-enclosed-by='"'
5 mendukung opsi berikut

Opsi Grup

Beberapa opsi

--fields-enclosed-by='"'
_5 adalah singkatan untuk grup opsi lain

  • Penggunaan
    shell> mysqldump --xml -u root world City
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    1
    Kabul
    AFG
    Kabol
    1780000
    
    ...
    
    4079
    Rafah
    PSE
    Rafah
    92020
    
    
    
    
    
    _1 sama dengan menyebutkan
    mysql db_name < backup-file.sql
    
    5,
    mysql db_name < backup-file.sql
    
    6,
    mysql db_name < backup-file.sql
    
    7,
    mysql db_name < backup-file.sql
    
    8,
    mysql db_name < backup-file.sql
    
    0,
    shell> mysqldump db_name > backup-file.sql
    
    0,
    shell> mysqldump --xml -u root world City
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    1
    Kabul
    AFG
    Kabol
    1780000
    
    ...
    
    4079
    Rafah
    PSE
    Rafah
    92020
    
    
    
    
    
    0, dan
    shell> mysqldump db_name > backup-file.sql
    
    2. Semua opsi yang
    shell> mysqldump --xml -u root world City
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    1
    Kabul
    AFG
    Kabol
    1780000
    
    ...
    
    4079
    Rafah
    PSE
    Rafah
    92020
    
    
    
    
    
    1 juga diaktifkan secara default karena
    shell> mysqldump --xml -u root world City
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    1
    Kabul
    AFG
    Kabol
    1780000
    
    ...
    
    4079
    Rafah
    PSE
    Rafah
    92020
    
    
    
    
    
    1 diaktifkan secara default
  • Penggunaan
    shell> mysqldump db_name > backup-file.sql
    
    _5 sama dengan menentukan opsi
    shell> mysqldump db_name > backup-file.sql
    
    6,
    shell> mysqldump db_name > backup-file.sql
    
    7,
    shell> mysqldump db_name > backup-file.sql
    
    8,
    shell> mysqldump db_name > backup-file.sql
    
    9, dan
    shell> mysql db_name < backup-file.sql
    
    0

Untuk membalikkan efek opsi grup, gunakan formulir

shell> mysql db_name < backup-file.sql
1 [
mysql db_name < backup-file.sql
1 atau
shell> mysql db_name < backup-file.sql
3]. Dimungkinkan juga untuk memilih hanya sebagian dari efek opsi grup dengan mengikutinya dengan opsi yang mengaktifkan atau menonaktifkan fitur tertentu. Berikut beberapa contohnya

  • Untuk memilih efek
    shell> mysqldump --xml -u root world City
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    1
    Kabul
    AFG
    Kabol
    1780000
    
    ...
    
    4079
    Rafah
    PSE
    Rafah
    92020
    
    
    
    
    
    _1 kecuali untuk beberapa fitur, gunakan opsi
    shell> mysql db_name < backup-file.sql
    
    5 untuk setiap fitur. Untuk menonaktifkan sisipan tambahan dan penyangga memori, gunakan
    shell> mysqldump --xml -u root world City
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    1
    Kabul
    AFG
    Kabol
    1780000
    
    ...
    
    4079
    Rafah
    PSE
    Rafah
    92020
    
    
    
    
    
    1
    shell> mysql db_name < backup-file.sql
    
    7
    shell> mysqldump --xml -u root world City
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    1
    Kabul
    AFG
    Kabol
    1780000
    
    ...
    
    4079
    Rafah
    PSE
    Rafah
    92020
    
    
    
    
    
    5. [Sebenarnya,
    shell> mysql db_name < backup-file.sql
    
    7
    shell> mysqldump --xml -u root world City
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    1
    Kabul
    AFG
    Kabol
    1780000
    
    ...
    
    4079
    Rafah
    PSE
    Rafah
    92020
    
    
    
    
    
    5 sudah cukup karena
    shell> mysqldump --xml -u root world City
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    1
    Kabul
    AFG
    Kabol
    1780000
    
    ...
    
    4079
    Rafah
    PSE
    Rafah
    92020
    
    
    
    
    
    1 aktif secara default. ]
  • Untuk membalikkan
    shell> mysqldump --xml -u root world City
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    1
    Kabul
    AFG
    Kabol
    1780000
    
    ...
    
    4079
    Rafah
    PSE
    Rafah
    92020
    
    
    
    
    
    1 untuk semua fitur kecuali penonaktifan indeks dan penguncian tabel, gunakan
    mysql db_name < backup-file.sql
    
    1
    mysql db_name < backup-file.sql
    
    8
    shell> mysqldump db_name > backup-file.sql
    
    0

Saat Anda secara selektif mengaktifkan atau menonaktifkan efek opsi grup, urutan penting karena opsi diproses dari awal hingga akhir. Misalnya,

mysql db_name < backup-file.sql
8
shell> mysqldump db_name > backup-file.sql
0
mysql db_name < backup-file.sql
1 tidak akan memiliki efek yang diinginkan;

Karakter Khusus dalam Nilai Opsi

Beberapa opsi, seperti

shell> mysqldump --opt db_name | mysql --host=remote_host -C db_name
_0, menerima string. String dapat dikutip, jika perlu. Misalnya, pada sistem Unix ini adalah opsi untuk menyertakan bidang dalam tanda kutip ganda

--fields-enclosed-by='"'

Alternatif untuk menentukan nilai heksadesimal dari suatu karakter. Misalnya, sintaks berikut berfungsi pada platform apa pun

--fields-enclosed-by=0x22
_

File Opsi

Selain membaca opsi dari baris perintah,

--fields-enclosed-by='"'
5 juga dapat membaca opsi dari file opsi. Jika opsi yang tidak diketahui disediakan untuk
--fields-enclosed-by='"'
_5 dalam file opsi, maka opsi tersebut akan diabaikan

Opsi berikut terkait dengan cara alat baris perintah MariaDB menangani file opsi. Mereka harus diberikan sebagai argumen pertama pada baris perintah

Di MariaDB 10. 2 dan yang lebih baru,

--fields-enclosed-by='"'
_5 ditautkan dengan MariaDB Connector/C. Namun, MariaDB Connector/C belum menangani penguraian file opsi untuk klien ini. Itu masih dilakukan oleh kode parsing file opsi server. Lihat MDEV-19035 untuk informasi lebih lanjut

Grup Opsi

--fields-enclosed-by='"'
5 membaca opsi dari yang berikut dari file opsi

NULL, ´NULL´, dan Nilai Kosong dalam XML

Untuk kolom bernama

shell> mysqldump --opt db_name | mysql --host=remote_host -C db_name
5, nilai
shell> mysqldump --opt db_name | mysql --host=remote_host -C db_name
6, string kosong, dan nilai string
shell> mysqldump --opt db_name | mysql --host=remote_host -C db_name
7 dibedakan satu sama lain dalam output yang dihasilkan oleh opsi ini sebagai berikut

Keluaran dari klien mysql saat dijalankan menggunakan opsi

shell> mysqldump --opt db_name | mysql --host=remote_host -C db_name
8 juga mengikuti aturan sebelumnya

Output XML dari mysqldump menyertakan namespace XML, seperti yang ditampilkan di sini

shell> mysqldump --xml -u root world City














1
Kabul
AFG
Kabol
1780000

...

4079
Rafah
PSE
Rafah
92020




Memulihkan

Untuk memulihkan cadangan yang dibuat dengan mysqldump, gunakan klien mysql untuk mengimpor dump, misalnya

mysql db_name < backup-file.sql

Variabel

Anda juga dapat mengatur variabel berikut [

shell> mysqldump --opt db_name | mysql --host=remote_host -C db_name
9] dan opsi boolean
shell> mysqldump --databases db_name1 [db_name2 ...] > my_databases.sql
0 dengan menggunakan

Contoh

Penggunaan umum

--fields-enclosed-by='"'
_5 adalah untuk membuat cadangan seluruh database

shell> mysqldump db_name > backup-file.sql

Anda dapat memuat file dump kembali ke server seperti ini

shell> mysql db_name < backup-file.sql

Atau seperti ini

shell> mysql -e "source /path-to-backup/backup-file.sql" db_name

--fields-enclosed-by='"'
5 juga sangat berguna untuk mengisi database dengan menyalin data dari satu server MariaDB ke yang lain

shell> mysqldump --opt db_name | mysql --host=remote_host -C db_name

Dimungkinkan untuk membuang beberapa database dengan satu perintah

shell> mysqldump --databases db_name1 [db_name2 ...] > my_databases.sql

Untuk membuang semua database, gunakan opsi

--fields-enclosed-by=0x22
3

--fields-enclosed-by='"'
0

Untuk tabel InnoDB,

--fields-enclosed-by='"'
_5 menyediakan cara membuat cadangan online

--fields-enclosed-by='"'
1

Cadangan ini memperoleh kunci baca global di semua tabel [menggunakan

shell> mysqldump --databases db_name1 [db_name2 ...] > my_databases.sql
5] di awal dump. Segera setelah kunci ini diperoleh, koordinat log biner dibaca dan kunci dilepaskan. Jika pernyataan pemutakhiran yang lama berjalan saat pernyataan FLUSH dikeluarkan, server MariaDB mungkin terhenti hingga pernyataan tersebut selesai. Setelah itu, dump menjadi bebas kunci dan tidak mengganggu proses baca dan tulis pada tabel. Jika pernyataan pembaruan yang diterima server MariaDB pendek [dalam hal waktu eksekusi], periode penguncian awal seharusnya tidak terlihat, bahkan dengan banyak pembaruan

Untuk pemulihan point-in-time [juga dikenal sebagai "roll-forward", saat Anda perlu memulihkan cadangan lama dan memutar ulang perubahan yang terjadi sejak pencadangan tersebut], sering kali berguna untuk memutar log biner atau setidaknya mengetahui

--fields-enclosed-by='"'
2

Atau

--fields-enclosed-by='"'
_3

Opsi

shell> mysqldump --databases db_name1 [db_name2 ...] > my_databases.sql
6 dan
shell> mysqldump --databases db_name1 [db_name2 ...] > my_databases.sql
7 dapat digunakan secara bersamaan, yang menyediakan cara mudah untuk membuat cadangan online yang cocok untuk digunakan sebelum pemulihan point-in-time jika tabel disimpan menggunakan mesin penyimpanan InnoDB

Apa itu file dump di database?

Database dump berisi record struktur tabel dan/atau data dari database dan biasanya berupa daftar . Dump basis data paling sering digunakan untuk mencadangkan basis data sehingga isinya dapat dipulihkan jika terjadi kehilangan data.

Bagaimana cara menggunakan file dump MySQL?

Cadangkan dari Baris Perintah dengan mysqldump
Cara Mengembalikan MySQL dengan mysqldump. Langkah 1. Buat Basis Data Baru. Langkah 2. Pulihkan MySQL Dump
Menggunakan phpMyAdmin untuk Mencadangkan atau Mengembalikan MySQL. Langkah 1. Buat Cadangan Database MySQL. Langkah 2. Hapus Informasi Basis Data Lama. Langkah 3. Pulihkan Database MySQL Anda yang Dicadangkan

Ke mana perginya dump MySQL?

Ada di baik di root atau di direktori saat ini tempat Anda menjalankan perintah dump.

Apa itu dump dari tabel MySQL?

MySQL Table Dump adalah alat kueri yang memungkinkan pengguna mengambil cadangan satu atau beberapa basis data dengan menghasilkan file teks yang menyertakan perintah SQL yang memiliki kemampuan untuk memulihkan basis data sebelumnya di server dari awal.

Bài mới nhất

Chủ Đề