Fungsi dan prosedur dump mysql
Pesan kesalahannya cukup jelas. Pencatatan biner perlu diaktifkan untuk memulihkan fungsi. Ada dua cara untuk melakukan ini Show
N. B. Jalankan perintah berikut untuk menampilkan daftar prosedur dan fungsi tersimpan SHOW PROCEDURE STATUS; SHOW FUNCTION STATUS; logging biner, fungsi, log_bin_trust_function_creators, MySQL, mysqldump, rutinitas, prosedur tersimpan Catatan ini telah diposting pada 01 Mar 2011, 20. 39 dan diajukan di bawah MySQL. Anda dapat mengikuti respons apa pun untuk entri ini melalui RSS 2. 0. Anda dapat melewati sampai akhir dan meninggalkan tanggapan. Ping saat ini tidak diperbolehkan 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 membuat 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 memerlukan 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 Pertunjukanmysqldump 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 PenggunaanAda empat cara umum untuk memohon --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=0x222 atau --fields-enclosed-by=0x223, 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=0x226 Untuk melihat daftar opsi yang didukung versi --fields-enclosed-by='"'5 Anda, jalankan --fields-enclosed-by=0x228 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 920200 (atau shell> mysqldump --xml -u root world City 1 Kabul AFG Kabol 1780000 ... 4079 Rafah PSE Rafah 920201, yang mengaktifkan shell> mysqldump --xml -u root world City 1 Kabul AFG Kabol 1780000 ... 4079 Rafah PSE Rafah 920200). 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 920200) 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 920205 --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 MySQLJika 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 920201 atau mysql db_name < backup-file.sql0. Gunakan mysql db_name < backup-file.sql_1 sebagai gantinya Pilihan--fields-enclosed-by='"'_5 mendukung opsi berikut Opsi GrupBeberapa opsi --fields-enclosed-by='"'_5 adalah singkatan untuk grup opsi lain
Untuk membalikkan efek opsi grup, gunakan formulir shell> mysql db_name < backup-file.sql1 ( mysql db_name < backup-file.sql1 atau shell> mysql db_name < backup-file.sql3). Dimungkinkan juga untuk memilih hanya sebagian dari efek opsi grup dengan mengikutinya dengan opsi yang mengaktifkan atau menonaktifkan fitur tertentu. Berikut beberapa contohnya
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.sql8 shell> mysqldump db_name > backup-file.sql0 mysql db_name < backup-file.sql1 tidak akan memiliki efek yang diinginkan; Karakter Khusus dalam Nilai PilihanBeberapa opsi, seperti shell> mysqldump --opt db_name | mysql --host=remote_host -C db_name0, 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 OpsiSelain 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 XMLUntuk kolom bernama shell> mysqldump --opt db_name | mysql --host=remote_host -C db_name5, nilai shell> mysqldump --opt db_name | mysql --host=remote_host -C db_name6, string kosong, dan nilai string shell> mysqldump --opt db_name | mysql --host=remote_host -C db_name7 dibedakan satu sama lain dalam output yang dihasilkan oleh opsi ini sebagai berikut Output dari klien mysql saat dijalankan menggunakan opsi shell> mysqldump --opt db_name | mysql --host=remote_host -C db_name8 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 MemulihkanUntuk memulihkan cadangan yang dibuat dengan mysqldump, gunakan klien mysql untuk mengimpor dump, misalnya mysql db_name < backup-file.sql VariabelAnda 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.sql0 dengan menggunakan ContohPenggunaan 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=0x223 --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.sql5) 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.sql6 dan shell> mysqldump --databases db_name1 [db_name2 ...] > my_databases.sql7 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 Bagaimana cara membuang rutinitas MySQL?Secara default, mysqldump tidak menyertakan rutinitas saat membuang database. Jika Anda ingin memasukkan rutin, Anda harus melewati parameter --routines atau -R saat menjalankan mysqldump .
Bagaimana cara mengambil cadangan prosedur tersimpan di MySQL?Untuk membuat cadangan semua database server MySQL, jalankan perintah berikut. mysqldump –user root –password –all-databases > all-databases. sql. mysql –user root –password mysql < semua database .
Bagaimana cara kerja dump MySQL?Utilitas klien mysqldump melakukan pencadangan logis, menghasilkan serangkaian pernyataan SQL yang dapat dijalankan untuk mereproduksi definisi objek database asli dan data tabel . Itu membuang satu atau lebih database MySQL untuk cadangan atau transfer ke server SQL lain.
Bagaimana cara membuang pemicu di MySQL?Mysqldump akan mencoba membuang semua pemicu di database Anda secara default. Untuk dapat membuang pemicu tabel, Anda harus memiliki hak istimewa TRIGGER untuk tabel tersebut . Jika pengguna dump tidak memiliki hak istimewa ini, pemicu akan dilewati dan mysqldump tidak akan menimbulkan kesalahan apa pun. |