Logging biner mysql harus menggunakan kesalahan format baris dalam konfigurasi logging biner server mysql
Opsi ini menentukan kapan acara harus ditampilkan disandikan sebagai string base64 menggunakan pernyataan _______ 121 ______. Opsi ini memiliki nilai yang diperbolehkan (tidak peka huruf besar/kecil) Show
Untuk contoh yang menunjukkan efek dari dan pada keluaran peristiwa baris, lihat Bagian 4. 6. 9. 2, "Tampilan Acara Baris mysqlbinlog" Pada komputer yang memiliki banyak antarmuka jaringan, gunakan opsi ini untuk memilih antarmuka mana yang digunakan untuk menghubungkan ke server MySQL Command-Line Format mysqlbinlog --rewrite-db='dbcurrent->dbold' --rewrite-db='dbtest->dbcurrent' \ binlog.00001 > /tmp/statements.sql8TypeNumericDefault Value mysqlbinlog --rewrite-db='dbcurrent->dbold' --rewrite-db='dbtest->dbcurrent' \ binlog.00001 > /tmp/statements.sql9Minimum Value mysqlbinlog --skip-gtids binlog.000001 > /tmp/dump.sql mysql -u root -p -e "source /tmp/dump.sql"0Maximum Value mysqlbinlog --skip-gtids binlog.000001 > /tmp/dump.sql mysql -u root -p -e "source /tmp/dump.sql"1 Tentukan ukuran maksimum peristiwa log biner berbasis baris, dalam byte. Baris dikelompokkan menjadi peristiwa yang lebih kecil dari ukuran ini jika memungkinkan. Nilainya harus kelipatan 256. Standarnya adalah 4GB Direktori tempat set karakter diinstal. Lihat Bagian 10. 15, “Konfigurasi Kumpulan Karakter” Kompres semua informasi yang dikirim antara klien dan server jika memungkinkan. Lihat Bagian 4. 2. 8, “Kontrol Kompresi Sambungan” Opsi ini ditambahkan di MySQL 8. 0. 17. Pada MySQL 8. 0. 18 sudah usang. Harapkan untuk dihapus di versi MySQL yang akan datang. Melihat Algoritme kompresi yang diizinkan untuk koneksi ke server. Algoritme yang tersedia sama dengan variabel sistem. Nilai defaultnya adalah mysqlbinlog --skip-gtids binlog.000001 > /tmp/dump.sql mysql -u root -p -e "source /tmp/dump.sql"6 Untuk informasi lebih lanjut, lihat Bagian 4. 2. 8, “Kontrol Kompresi Sambungan” Opsi ini ditambahkan di MySQL 8. 0. 18 menentukan ID server yang dilaporkan mysqlbinlog saat terhubung ke server. Ini dapat digunakan untuk menghindari konflik dengan ID server replika atau proses mysqlbinlog lainnya Jika opsi ditentukan, mysqlbinlog melaporkan ID server 0, yang memberi tahu server untuk memutuskan sambungan setelah mengirim file log terakhir (perilaku nonblocking). Jika opsi juga ditentukan untuk mempertahankan koneksi ke server, mysqlbinlog melaporkan ID server 1 secara default, bukan 0, dan dapat digunakan untuk mengganti ID server tersebut jika diperlukan. Lihat Bagian 4. 6. 9. 4, “Menentukan ID Server mysqlbinlog” , mysqlbinlog --start-datetime="2005-12-25 11:25:56" binlog.000003_3 Opsi ini menyebabkan mysqlbinlog mengeluarkan entri dari log biner (hanya log lokal) yang muncul saat mysqlbinlog --start-datetime="2005-12-25 11:25:56" binlog.0000034 dipilih sebagai database default oleh mysqlbinlog --start-datetime="2005-12-25 11:25:56" binlog.0000035 Opsi untuk mysqlbinlog mirip dengan opsi untuk mysqld, tetapi dapat digunakan untuk menentukan hanya satu database. Jika diberikan berkali-kali, hanya instance terakhir yang digunakan Efek dari opsi ini bergantung pada apakah format logging berbasis pernyataan atau berbasis baris sedang digunakan, dengan cara yang sama seperti efek bergantung pada apakah logging berbasis pernyataan atau berbasis baris sedang digunakan Pencatatan berbasis pernyataan. Opsi ini berfungsi sebagai berikut
Misalkan log biner dibuat dengan mengeksekusi pernyataan ini menggunakan logging berbasis pernyataan INSERT INTO test.t1 (i) VALUES(100); INSERT INTO db2.t2 (j) VALUES(200); USE test; INSERT INTO test.t1 (i) VALUES(101); INSERT INTO t1 (i) VALUES(102); INSERT INTO db2.t2 (j) VALUES(201); USE db2; INSERT INTO test.t1 (i) VALUES(103); INSERT INTO db2.t2 (j) VALUES(202); INSERT INTO t2 (j) VALUES(203); mysqlbinlog --database=test tidak menampilkan dua pernyataan mysqlbinlog --database=db2 tidak menampilkan dua pernyataan Logging berbasis baris. mysqlbinlog hanya menampilkan entri yang mengubah tabel milik mysqlbinlog --start-datetime="2005-12-25 11:25:56" binlog.0000034. Basis data default tidak berpengaruh pada ini. Misalkan log biner yang baru saja dijelaskan dibuat menggunakan logging berbasis baris daripada logging berbasis pernyataan. mysqlbinlog --database=test menampilkan hanya entri yang memodifikasi -? 9 dalam database pengujian, terlepas dari apakah mysqlbinlog --start-datetime="2005-12-25 11:25:56" binlog.0000035 dikeluarkan atau database default apa Jika server berjalan dengan diatur ke Saat digunakan bersama dengan opsi, opsi , Tulis log debug. String Opsi ini hanya tersedia jika MySQL dibangun menggunakan. Binari rilis MySQL yang disediakan oleh Oracle tidak dibangun menggunakan opsi ini Cetak beberapa informasi debug saat program keluar Opsi ini hanya tersedia jika MySQL dibangun menggunakan. Binari rilis MySQL yang disediakan oleh Oracle tidak dibangun menggunakan opsi ini Mencetak informasi debug dan statistik penggunaan memori dan CPU saat program keluar Opsi ini hanya tersedia jika MySQL dibangun menggunakan. Binari rilis MySQL yang disediakan oleh Oracle tidak dibangun menggunakan opsi ini Petunjuk tentang plugin autentikasi sisi klien mana yang akan digunakan. Lihat Bagian 6. 2. 17, “Otentikasi yang Dapat Dipasang” Baca file opsi ini setelah file opsi global tetapi (di Unix) sebelum file opsi pengguna. Jika file tidak ada atau tidak dapat diakses, kesalahan akan terjadi. Jika Untuk informasi tambahan tentang ini dan opsi file opsi lainnya, lihat Bagian 4. 2. 2. 3, "Opsi Baris Perintah yang Mempengaruhi Penanganan File-Opsi" Gunakan hanya file opsi yang diberikan. Jika file tidak ada atau tidak dapat diakses, kesalahan akan terjadi. Jika Pengecualian. Bahkan dengan , program klien membaca Untuk informasi tambahan tentang ini dan opsi file opsi lainnya, lihat Bagian 4. 2. 2. 3, "Opsi Baris Perintah yang Mempengaruhi Penanganan File-Opsi" Baca tidak hanya grup opsi biasa, tetapi juga grup dengan nama biasa dan akhiran mysqlbinlog --local-load=/my/local/data ... | mysql --load-data-local-dir=/my/local/data ...00 dan mysqlbinlog --local-load=/my/local/data ... | mysql --load-data-local-dir=/my/local/data ...01 Untuk informasi tambahan tentang ini dan opsi file opsi lainnya, lihat Bagian 4. 2. 2. 3, "Opsi Baris Perintah yang Mempengaruhi Penanganan File-Opsi" , mysqlbinlog --local-load=/my/local/data ... | mysql --load-data-local-dir=/my/local/data ..._03 Nonaktifkan logging biner. Ini berguna untuk menghindari perulangan tanpa akhir jika Anda menggunakan opsi dan mengirimkan hasilnya ke server MySQL yang sama. Opsi ini juga berguna saat memulihkan setelah keluar secara tidak terduga untuk menghindari duplikasi pernyataan yang telah Anda catat Opsi ini menyebabkan mysqlbinlog menyertakan pernyataan mysqlbinlog --local-load=/my/local/data ... | mysql --load-data-local-dir=/my/local/data ...05 dalam outputnya untuk menonaktifkan logging biner dari output yang tersisa. Memanipulasi nilai sesi dari variabel sistem adalah operasi terbatas, jadi opsi ini mengharuskan Anda memiliki hak istimewa yang cukup untuk mengatur variabel sesi terbatas. Lihat Bagian 5. 1. 9. 1, "Hak Istimewa Variabel Sistem" Jangan tampilkan salah satu grup yang terdaftar di mysqlbinlog --local-load=/my/local/data ... | mysql --load-data-local-dir=/my/local/data ...08 , mysqlbinlog --local-load=/my/local/data ... | mysql --load-data-local-dir=/my/local/data ..._10 Baca file log biner meskipun terbuka atau tidak ditutup dengan benar , mysqlbinlog --local-load=/my/local/data ... | mysql --load-data-local-dir=/my/local/data ..._12 Dengan opsi ini, jika mysqlbinlog membaca kejadian log biner yang tidak dikenalinya, ia akan mencetak peringatan, mengabaikan kejadian tersebut, dan melanjutkan. Tanpa opsi ini, mysqlbinlog berhenti jika membaca kejadian seperti itu Permintaan dari server kunci publik diperlukan untuk pertukaran kata sandi berbasis pasangan kunci RSA. Opsi ini berlaku untuk klien yang mengautentikasi dengan plugin autentikasi ________0______14. Untuk plugin itu, server tidak mengirimkan kunci publik kecuali diminta. Opsi ini diabaikan untuk akun yang tidak diautentikasi dengan plugin tersebut. Itu juga diabaikan jika pertukaran kata sandi berbasis RSA tidak digunakan, seperti halnya ketika klien terhubung ke server menggunakan koneksi aman Jika diberikan dan menentukan file kunci publik yang valid, itu lebih diutamakan Untuk informasi tentang plugin mysqlbinlog --local-load=/my/local/data ... | mysql --load-data-local-dir=/my/local/data ..._14, lihat Bagian 6. 4. 1. 2, “Caching SHA-2 Pluggable Authentication” , mysqlbinlog --local-load=/my/local/data ... | mysql --load-data-local-dir=/my/local/data ..._19 Menampilkan hex dump dari komentar login, seperti yang dijelaskan di Bagian 4. 6. 9. 1, "Format Hex Dump mysqlbinlog". Output hex dapat membantu untuk debugging replikasi , mysqlbinlog --local-load=/my/local/data ... | mysql --load-data-local-dir=/my/local/data ..._21 Dapatkan log biner dari server MySQL pada host yang diberikan Beri tahu Server MySQL untuk menggunakan mode idempoten saat memproses pembaruan; . Opsi ini mungkin terbukti berguna kapan pun diinginkan atau diperlukan untuk memutar ulang satu atau lebih log biner ke Server MySQL yang mungkin tidak berisi semua data yang dirujuk oleh log tersebut Ruang lingkup efek untuk opsi ini hanya mencakup klien dan sesi mysqlbinlog saat ini Tampilkan hanya grup yang terdaftar di mysqlbinlog --local-load=/my/local/data ... | mysql --load-data-local-dir=/my/local/data ...08 , mysqlbinlog --local-load=/my/local/data ... | mysql --load-data-local-dir=/my/local/data ..._26 Untuk operasi pemuatan data yang sesuai dengan pernyataan mysqlbinlog --local-load=/my/local/data ... | mysql --load-data-local-dir=/my/local/data ..._27, mysqlbinlog mengekstrak file dari peristiwa log biner, menulisnya sebagai file sementara ke sistem file lokal, dan menulis mysqlbinlog --local-load=/my/local/data ... | mysql --load-data-local-dir=/my/local/data ...28 pernyataan agar file dimuat. Secara default, mysqlbinlog menulis file-file sementara ini ke direktori khusus sistem operasi. Opsi ini dapat digunakan untuk secara eksplisit menentukan direktori tempat mysqlbinlog harus menyiapkan file sementara lokal Karena proses lain dapat menulis file ke direktori khusus sistem default, disarankan untuk menentukan opsi ke mysqlbinlog untuk menetapkan direktori berbeda untuk file data, dan kemudian menetapkan direktori yang sama dengan menentukan opsi ke mysql saat memproses output dari mysqlbinlog. Misalnya mysqlbinlog --local-load=/my/local/data ... | mysql --load-data-local-dir=/my/local/data ... File sementara ini tidak dihapus secara otomatis oleh mysqlbinlog atau program MySQL lainnya Baca opsi dari jalur masuk bernama di file jalur masuk Untuk informasi tambahan tentang ini dan opsi file opsi lainnya, lihat Bagian 4. 2. 2. 3, "Opsi Baris Perintah yang Mempengaruhi Penanganan File-Opsi" Jangan membaca file opsi apa pun. Jika startup program gagal karena membaca opsi yang tidak diketahui dari file opsi, dapat digunakan untuk mencegahnya agar tidak dibaca Pengecualian adalah bahwa file Untuk informasi tambahan tentang ini dan opsi file opsi lainnya, lihat Bagian 4. 2. 2. 3, "Opsi Baris Perintah yang Mempengaruhi Penanganan File-Opsi" , mysqlbinlog --local-load=/my/local/data ... | mysql --load-data-local-dir=/my/local/data ..._40 Lewati entri mysqlbinlog --local-load=/my/local/data ... | mysql --load-data-local-dir=/my/local/data ..._41 pertama di log Tentukan jumlah deskriptor file terbuka yang akan dipesan , mysqlbinlog --local-load=/my/local/data ... | mysql --load-data-local-dir=/my/local/data ..._44] Kata sandi akun MySQL yang digunakan untuk menghubungkan ke server. Nilai kata sandi bersifat opsional. Jika tidak diberikan, mysqlbinlog memintanya. Jika diberikan, tidak boleh ada spasi antara atau _________0______46 dan kata sandi yang mengikutinya. Jika tidak ada opsi kata sandi yang ditentukan, defaultnya adalah tidak mengirim kata sandi Menentukan kata sandi pada baris perintah harus dianggap tidak aman. Untuk menghindari pemberian kata sandi pada baris perintah, gunakan file opsi. Lihat Bagian 6. 1. 2. 1, “Pedoman Pengguna Akhir untuk Keamanan Kata Sandi” Untuk secara eksplisit menentukan bahwa tidak ada kata sandi dan bahwa mysqlbinlog tidak boleh meminta kata sandi, gunakan opsi Direktori tempat mencari plugin. Tentukan opsi ini jika opsi tersebut digunakan untuk menentukan plugin autentikasi tetapi mysqlbinlog tidak menemukannya. Lihat Bagian 6. 2. 17, “Otentikasi yang Dapat Dipasang” , mysqlbinlog --local-load=/my/local/data ... | mysql --load-data-local-dir=/my/local/data ..._51 Nomor port TCP/IP yang akan digunakan untuk menghubungkan ke server jarak jauh Cetak nama program dan semua opsi yang didapatkan dari file opsi Untuk informasi tambahan tentang ini dan opsi file opsi lainnya, lihat Bagian 4. 2. 2. 3, "Opsi Baris Perintah yang Mempengaruhi Penanganan File-Opsi" Cetak tabel terkait metadata dari log biner. Konfigurasikan jumlah biner metadata terkait tabel yang dicatat menggunakan Protokol transport yang digunakan untuk menghubungkan ke server. Ini berguna ketika parameter koneksi lainnya biasanya menghasilkan penggunaan protokol selain yang Anda inginkan. Untuk detail tentang nilai yang diizinkan, lihat Bagian 4. 2. 7, "Protokol Transportasi Koneksi" Secara default, mysqlbinlog membaca file log biner dan menulis acara dalam format teks. Opsi memberi tahu mysqlbinlog untuk menulisnya dalam format biner aslinya. Penggunaannya mengharuskan juga digunakan karena file diminta dari server. mysqlbinlog menulis satu file keluaran untuk setiap file yang dibaca dari server. Opsi ini dapat digunakan untuk membuat cadangan log biner server. Dengan opsi tersebut, backup bersifat “live” karena mysqlbinlog tetap terhubung ke server. Secara default, file keluaran ditulis di direktori saat ini dengan nama yang sama dengan file log asli. Nama file keluaran dapat dimodifikasi menggunakan opsi. Untuk informasi lebih lanjut, lihat Bagian 4. 6. 9. 3, “Menggunakan mysqlbinlog untuk Mencadangkan File Log Biner” Dari MySQL 8. 0. 26, gunakan mysqlbinlog --local-load=/my/local/data ... | mysql --load-data-local-dir=/my/local/data ..._63, dan sebelum MySQL 8. 0. 26, gunakan. Kedua opsi memiliki efek yang sama. Opsi membaca log biner dari server MySQL dengan perintah mysqlbinlog --local-load=/my/local/data ... | mysql --load-data-local-dir=/my/local/data ...65 atau mysqlbinlog --local-load=/my/local/data ... | mysql --load-data-local-dir=/my/local/data ...66 dengan menetapkan nilai opsi masing-masing ke mysqlbinlog --local-load=/my/local/data ... | mysql --load-data-local-dir=/my/local/data ...67 atau mysqlbinlog --local-load=/my/local/data ... | mysql --load-data-local-dir=/my/local/data ...68. Jika atau digabungkan dengan , transaksi dapat disaring pada sumbernya, menghindari lalu lintas jaringan yang tidak perlu Opsi parameter koneksi digunakan dengan opsi atau opsi ini. Opsi ini adalah , , , , , dan. Jika tidak ada opsi jarak jauh yang ditentukan, opsi parameter koneksi akan diabaikan Hak istimewa diperlukan untuk menggunakan opsi ini Gunakan opsi ini sebelum MySQL 8. 0. 26 bukannya. Kedua opsi memiliki efek yang sama , mysqlbinlog --local-load=/my/local/data ... | mysql --load-data-local-dir=/my/local/data ..._83 Baca log biner dari server MySQL daripada membaca file log lokal. Opsi ini mengharuskan server jarak jauh berjalan. Ini hanya berfungsi untuk file log biner di server jauh, bukan file log relai Opsi parameter koneksi digunakan dengan opsi ini atau opsi. Opsi ini adalah , , , , , dan. Jika tak satu pun dari opsi jarak jauh ditentukan, opsi parameter koneksi diabaikan Hak istimewa diperlukan untuk menggunakan opsi ini Opsi ini seperti , mysqlbinlog --local-load=/my/local/data ... | mysql --load-data-local-dir=/my/local/data ..._94 Tanpa opsi, opsi ini menunjukkan file tempat mysqlbinlog menulis keluaran teks. Dengan , mysqlbinlog menulis satu file keluaran biner untuk setiap file log yang ditransfer dari server, menulisnya secara default di direktori saat ini menggunakan nama yang sama dengan file log asli. Dalam hal ini, nilai opsi diperlakukan sebagai awalan yang mengubah nama file keluaran Memerlukan format logging biner berbasis baris untuk acara. Opsi ini memberlakukan peristiwa replikasi berbasis baris untuk keluaran mysqlbinlog. Aliran peristiwa yang dihasilkan dengan opsi ini akan diterima oleh saluran replikasi yang diamankan menggunakan opsi mysqlbinlog --local-load=/my/local/data ... | mysql --load-data-local-dir=/my/local/data ...99 dari pernyataan mysqlbinlog --rewrite-db='dbcurrent->dbold' --rewrite-db='dbtest->dbcurrent' \ binlog.00001 > /tmp/statements.sql00 (dari MySQL 8. 0. 23) atau pernyataan mysqlbinlog --rewrite-db='dbcurrent->dbold' --rewrite-db='dbtest->dbcurrent' \ binlog.00001 > /tmp/statements.sql_01 (sebelum MySQL 8. 0. 23). harus disetel di server tempat log biner ditulis. Saat Anda menentukan opsi ini, mysqlbinlog berhenti dengan pesan kesalahan jika menemukan peristiwa apa pun yang tidak diizinkan di bawah pembatasan mysqlbinlog --local-load=/my/local/data ... | mysql --load-data-local-dir=/my/local/data ...99, termasuk instruksi mysqlbinlog --rewrite-db='dbcurrent->dbold' --rewrite-db='dbtest->dbcurrent' \ binlog.00001 > /tmp/statements.sql04, membuat atau menjatuhkan tabel sementara, mysqlbinlog --rewrite-db='dbcurrent->dbold' --rewrite-db='dbtest->dbcurrent' \ binlog.00001 > /tmp/statements.sql05, mysqlbinlog --rewrite-db='dbcurrent->dbold' --rewrite-db='dbtest->dbcurrent' \ binlog.00001 > /tmp/statements.sql06, atau mysqlbinlog --rewrite-db='dbcurrent->dbold' --rewrite-db='dbtest->dbcurrent' \ binlog.00001 > /tmp/statements.sql07 peristiwa, dan peristiwa berbasis non-baris . mysqlbinlog juga mencetak pernyataan mysqlbinlog --rewrite-db='dbcurrent->dbold' --rewrite-db='dbtest->dbcurrent' \ binlog.00001 > /tmp/statements.sql08 di awal keluarannya untuk menerapkan batasan saat keluaran dijalankan, dan tidak mencetak pernyataan mysqlbinlog --rewrite-db='dbcurrent->dbold' --rewrite-db='dbtest->dbcurrent' \ binlog.00001 > /tmp/statements.sql09 Opsi ini ditambahkan di MySQL 8. 0. 19 Saat membaca dari log berbasis baris atau berbasis pernyataan, tulis ulang semua kemunculan mysqlbinlog --rewrite-db='dbcurrent->dbold' --rewrite-db='dbtest->dbcurrent' \ binlog.00001 > /tmp/statements.sql12 menjadi mysqlbinlog --rewrite-db='dbcurrent->dbold' --rewrite-db='dbtest->dbcurrent' \ binlog.00001 > /tmp/statements.sql11. Penulisan ulang dilakukan pada baris, untuk log berbasis baris, serta pada klausa mysqlbinlog --start-datetime="2005-12-25 11:25:56" binlog.0000035, untuk log berbasis pernyataan Pernyataan di mana nama tabel memenuhi syarat dengan nama database tidak ditulis ulang untuk menggunakan nama baru saat menggunakan opsi ini Aturan penulisan ulang yang digunakan sebagai nilai untuk opsi ini adalah string yang memiliki bentuk Untuk menerapkan beberapa aturan penulisan ulang, tentukan opsi beberapa kali, seperti yang ditampilkan di sini mysqlbinlog --rewrite-db='dbcurrent->dbold' --rewrite-db='dbtest->dbcurrent' \ binlog.00001 > /tmp/statements.sql_ Saat digunakan bersama dengan opsi, opsi Ini berarti bahwa, misalnya, jika mysqlbinlog dimulai dengan mysqlbinlog --rewrite-db='dbcurrent->dbold' --rewrite-db='dbtest->dbcurrent' \ binlog.00001 > /tmp/statements.sql20, maka semua pembaruan untuk setiap tabel dalam database mysqlbinlog --rewrite-db='dbcurrent->dbold' --rewrite-db='dbtest->dbcurrent' \ binlog.00001 > /tmp/statements.sql21 dan mysqlbinlog --rewrite-db='dbcurrent->dbold' --rewrite-db='dbtest->dbcurrent' \ binlog.00001 > /tmp/statements.sql22 disertakan dalam output. Di sisi lain, jika dimulai dengan mysqlbinlog --rewrite-db='dbcurrent->dbold' --rewrite-db='dbtest->dbcurrent' \ binlog.00001 > /tmp/statements.sql23, maka mysqlbinlog tidak mengeluarkan pernyataan sama sekali. karena semua pembaruan untuk mysqlbinlog --rewrite-db='dbcurrent->dbold' --rewrite-db='dbtest->dbcurrent' \ binlog.00001 > /tmp/statements.sql_21 pertama kali ditulis ulang sebagai pembaruan untuk mysqlbinlog --rewrite-db='dbcurrent->dbold' --rewrite-db='dbtest->dbcurrent' \ binlog.00001 > /tmp/statements.sql22 sebelum menerapkan opsi mysqlbinlog --start-datetime="2005-12-25 11:25:56" binlog.0000036, tetap tidak ada pembaruan yang cocok dengan mysqlbinlog --rewrite-db='dbcurrent->dbold' --rewrite-db='dbtest->dbcurrent' \ binlog.00001 > /tmp/statements.sql27 Hanya tampilkan acara yang dibuat oleh server yang memiliki ID server tertentu Gunakan hanya mysqlbinlog --local-load=/my/local/data ... | mysql --load-data-local-dir=/my/local/data ..._41 bit pertama untuk mengidentifikasi server. Jika log biner ditulis oleh mysqld dengan server-id-bit diatur kurang dari 32 dan data pengguna disimpan dalam bit paling signifikan, menjalankan mysqlbinlog dengan mysqlbinlog --rewrite-db='dbcurrent->dbold' --rewrite-db='dbtest->dbcurrent' \ binlog.00001 > /tmp/statements.sql32 diatur ke 32 memungkinkan data ini terlihat Opsi ini hanya didukung oleh versi mysqlbinlog yang disertakan dengan distribusi NDB Cluster, atau dibuat dengan dukungan NDB Cluster Nama path ke file dalam format PEM yang berisi salinan sisi klien dari kunci publik yang diperlukan oleh server untuk pertukaran kata sandi berbasis pasangan kunci RSA. Opsi ini berlaku untuk klien yang mengotentikasi dengan mysqlbinlog --rewrite-db='dbcurrent->dbold' --rewrite-db='dbtest->dbcurrent' \ binlog.00001 > /tmp/statements.sql34 atau mysqlbinlog --local-load=/my/local/data ... | mysql --load-data-local-dir=/my/local/data ...14 plugin otentikasi. Opsi ini diabaikan untuk akun yang tidak diautentikasi dengan salah satu plugin tersebut. Itu juga diabaikan jika pertukaran kata sandi berbasis RSA tidak digunakan, seperti halnya ketika klien terhubung ke server menggunakan koneksi aman Jika diberikan dan menentukan file kunci publik yang valid, itu lebih diutamakan Untuk mysqlbinlog --rewrite-db='dbcurrent->dbold' --rewrite-db='dbtest->dbcurrent' \ binlog.00001 > /tmp/statements.sql_34, opsi ini hanya berlaku jika MySQL dibuat menggunakan OpenSSL Untuk informasi tentang plugin mysqlbinlog --rewrite-db='dbcurrent->dbold' --rewrite-db='dbtest->dbcurrent' \ binlog.00001 > /tmp/statements.sql34 dan mysqlbinlog --local-load=/my/local/data ... | mysql --load-data-local-dir=/my/local/data ...14, lihat Bagian 6. 4. 1. 3, “SHA-256 Pluggable Authentication”, dan Bagian 6. 4. 1. 2, “Caching SHA-2 Pluggable Authentication” Tambahkan pernyataan mysqlbinlog --rewrite-db='dbcurrent->dbold' --rewrite-db='dbtest->dbcurrent' \ binlog.00001 > /tmp/statements.sql_42 ke output untuk menentukan kumpulan karakter yang akan digunakan untuk memproses file log Di Windows, nama memori bersama digunakan untuk koneksi yang dibuat menggunakan memori bersama ke server lokal. Nilai defaultnya adalah mysqlbinlog --rewrite-db='dbcurrent->dbold' --rewrite-db='dbtest->dbcurrent' \ binlog.00001 > /tmp/statements.sql_44. Nama memori bersama bersifat peka huruf besar-kecil Opsi ini hanya berlaku jika server dimulai dengan variabel sistem yang diaktifkan untuk mendukung koneksi memori bersama , mysqlbinlog --rewrite-db='dbcurrent->dbold' --rewrite-db='dbtest->dbcurrent' \ binlog.00001 > /tmp/statements.sql_47 Hanya tampilkan pernyataan yang terdapat dalam log, tanpa informasi tambahan atau kejadian berbasis baris. Ini hanya untuk pengujian, dan tidak boleh digunakan dalam sistem produksi. Itu sudah usang, dan Anda harus mengharapkannya dihapus di rilis mendatang Jangan sertakan GTID dari file log biner di file dump keluaran. Misalnya mysqlbinlog --skip-gtids binlog.000001 > /tmp/dump.sql mysql -u root -p -e "source /tmp/dump.sql"_ Biasanya Anda tidak boleh menggunakan opsi ini dalam produksi atau pemulihan, kecuali dalam skenario khusus dan jarang, di mana GTID secara aktif tidak diinginkan. Misalnya, administrator mungkin ingin menduplikasi transaksi yang dipilih (seperti definisi tabel) dari penerapan ke penerapan lain, yang tidak terkait, yang tidak akan mereplikasi ke atau dari yang asli. Dalam skenario itu, dapat digunakan untuk mengaktifkan administrator untuk menerapkan transaksi seolah-olah baru, dan memastikan bahwa penerapan tetap tidak terkait. Namun, Anda sebaiknya hanya menggunakan opsi ini jika penyertaan GTID menyebabkan masalah umum untuk kasus penggunaan Anda , mysqlbinlog --rewrite-db='dbcurrent->dbold' --rewrite-db='dbtest->dbcurrent' \ binlog.00001 > /tmp/statements.sql_51 Untuk koneksi ke mysqlbinlog --rewrite-db='dbcurrent->dbold' --rewrite-db='dbtest->dbcurrent' \ binlog.00001 > /tmp/statements.sql_52, file soket Unix yang akan digunakan, atau, di Windows, nama pipa bernama yang akan digunakan Di Windows, opsi ini hanya berlaku jika server dimulai dengan variabel sistem yang diaktifkan untuk mendukung koneksi pipa bernama. Selain itu, pengguna yang membuat sambungan harus menjadi anggota grup Windows yang ditentukan oleh variabel sistem mysqlbinlog --rewrite-db='dbcurrent->dbold' --rewrite-db='dbtest->dbcurrent' \ binlog.00001 > /tmp/statements.sql_55 Opsi yang dimulai dengan mysqlbinlog --rewrite-db='dbcurrent->dbold' --rewrite-db='dbtest->dbcurrent' \ binlog.00001 > /tmp/statements.sql_56 menentukan apakah akan terhubung ke server menggunakan enkripsi dan menunjukkan di mana menemukan kunci dan sertifikat SSL. Lihat Mengontrol apakah akan mengaktifkan mode FIPS di sisi klien. Opsi ini berbeda dari opsi mysqlbinlog --rewrite-db='dbcurrent->dbold' --rewrite-db='dbtest->dbcurrent' \ binlog.00001 > /tmp/statements.sql_59 lainnya yang tidak digunakan untuk membuat koneksi terenkripsi, melainkan untuk memengaruhi operasi kriptografi mana yang diizinkan. Lihat Bagian 6. 8, “Dukungan FIPS” Nilai-nilai ini diizinkan
Jika OpenSSL FIPS Object Module tidak tersedia, satu-satunya nilai yang diizinkan adalah mysqlbinlog --rewrite-db='dbcurrent->dbold' --rewrite-db='dbtest->dbcurrent' \ binlog.00001 > /tmp/statements.sql61. Dalam hal ini, pengaturan ke mysqlbinlog --rewrite-db='dbcurrent->dbold' --rewrite-db='dbtest->dbcurrent' \ binlog.00001 > /tmp/statements.sql_62 atau mysqlbinlog --rewrite-db='dbcurrent->dbold' --rewrite-db='dbtest->dbcurrent' \ binlog.00001 > /tmp/statements.sql63 menyebabkan klien mengeluarkan peringatan saat pengaktifan dan beroperasi dalam mode non-FIPS Mulai membaca log biner pada peristiwa pertama yang memiliki stempel waktu sama dengan atau lebih baru dari argumen mysqlbinlog --rewrite-db='dbcurrent->dbold' --rewrite-db='dbtest->dbcurrent' \ binlog.00001 > /tmp/statements.sql70. Nilai ________6______70 relatif terhadap zona waktu lokal pada mesin tempat Anda menjalankan mysqlbinlog. Nilai harus dalam format yang diterima untuk tipe data ________6______72 atau mysqlbinlog --rewrite-db='dbcurrent->dbold' --rewrite-db='dbtest->dbcurrent' \ binlog.00001 > /tmp/statements.sql73. Misalnya mysqlbinlog --start-datetime="2005-12-25 11:25:56" binlog.000003 Opsi ini berguna untuk pemulihan point-in-time. Lihat Bagian 7. 5, “Pemulihan Point-in-Time (Incremental)” , Mulai decoding log biner pada posisi log mysqlbinlog --local-load=/my/local/data ... | mysql --load-data-local-dir=/my/local/data ...41, termasuk dalam output setiap peristiwa yang dimulai pada posisi mysqlbinlog --local-load=/my/local/data ... | mysql --load-data-local-dir=/my/local/data ...41 atau setelahnya. Posisinya adalah titik byte dalam file log, bukan penghitung peristiwa; . Opsi ini berlaku untuk file log pertama yang disebutkan pada baris perintah Sebelum MySQL 8. 0. 33, nilai maksimum yang didukung untuk opsi ini adalah 4294967295 (232-1). Di MySQL8. 0. 33 dan setelahnya, adalah 18446744073709551616 (264-1), kecuali atau juga digunakan, dalam hal ini maksimumnya adalah 4294967295 Opsi ini berguna untuk pemulihan point-in-time. Lihat Bagian 7. 5, “Pemulihan Point-in-Time (Incremental)” Berhenti membaca log biner pada peristiwa pertama yang memiliki stempel waktu sama dengan atau lebih baru dari argumen mysqlbinlog --rewrite-db='dbcurrent->dbold' --rewrite-db='dbtest->dbcurrent' \ binlog.00001 > /tmp/statements.sql70. Lihat deskripsi opsi untuk informasi tentang nilai ________6______70 Opsi ini berguna untuk pemulihan point-in-time. Lihat Bagian 7. 5, “Pemulihan Point-in-Time (Incremental)” Opsi ini digunakan dengan. Ini memberitahu mysqlbinlog untuk tetap terhubung ke server. Kalau tidak, mysqlbinlog keluar ketika file log terakhir telah ditransfer dari server. menyiratkan , jadi hanya file log pertama yang akan ditransfer yang perlu diberi nama pada baris perintah umumnya digunakan dengan untuk membuat cadangan log biner langsung, tetapi juga dapat digunakan tanpa untuk mempertahankan tampilan teks berkelanjutan dari peristiwa log saat server membuatnya Dengan , secara default, mysqlbinlog melaporkan ID server 1 saat terhubung ke server. Gunakan untuk secara eksplisit menentukan ID alternatif untuk dilaporkan. Ini dapat digunakan untuk menghindari konflik dengan ID server replika atau proses mysqlbinlog lainnya. Lihat Bagian 4. 6. 9. 4, “Menentukan ID Server mysqlbinlog” Opsi ini sudah tidak digunakan lagi; . Gunakan opsi sebagai gantinya untuk menentukan ID server agar mysqlbinlog melaporkan Hentikan decoding log biner pada posisi log mysqlbinlog --local-load=/my/local/data ... | mysql --load-data-local-dir=/my/local/data ...41, tidak termasuk dari output setiap peristiwa yang dimulai pada posisi mysqlbinlog --local-load=/my/local/data ... | mysql --load-data-local-dir=/my/local/data ...41 atau setelahnya. Posisinya adalah titik byte dalam file log, bukan penghitung peristiwa; . Acara dimulai sebelum posisi mysqlbinlog --local-load=/my/local/data ... | mysql --load-data-local-dir=/my/local/data ..._41 dan berakhir pada atau setelah posisi adalah acara terakhir yang diproses. Opsi ini berlaku untuk file log terakhir yang disebutkan pada baris perintah Opsi ini berguna untuk pemulihan point-in-time. Lihat Bagian 7. 5, “Pemulihan Point-in-Time (Incremental)” Ciphersuite yang diizinkan untuk koneksi terenkripsi yang menggunakan TLSv1. 3. Nilainya adalah daftar satu atau lebih nama ciphersuite yang dipisahkan titik dua. Ciphersuite yang dapat diberi nama untuk opsi ini bergantung pada pustaka SSL yang digunakan untuk mengompilasi MySQL. Untuk mengetahui detailnya, lihat Bagian 6. 3. 2, "Protokol dan Sandi TLS Koneksi Terenkripsi" Opsi ini ditambahkan di MySQL 8. 0. 16 Protokol TLS yang diizinkan untuk koneksi terenkripsi. Nilainya adalah daftar satu atau lebih nama protokol yang dipisahkan koma. Protokol yang dapat diberi nama untuk opsi ini bergantung pada pustaka SSL yang digunakan untuk mengkompilasi MySQL. Untuk mengetahui detailnya, lihat Bagian 6. 3. 2, "Protokol dan Sandi TLS Koneksi Terenkripsi" , mysqlbinlog --skip-gtids binlog.000001 > /tmp/dump.sql mysql -u root -p -e "source /tmp/dump.sql"_02 Jangan berhenti di akhir log biner yang diminta dari server MySQL, tetapi lanjutkan mencetak hingga akhir log biner terakhir. Jika Anda mengirimkan output ke server MySQL yang sama, hal ini dapat menyebabkan perulangan tanpa akhir. Opsi ini membutuhkan , mysqlbinlog --skip-gtids binlog.000001 > /tmp/dump.sql mysql -u root -p -e "source /tmp/dump.sql"_05 Nama pengguna akun MySQL untuk digunakan saat menghubungkan ke server jarak jauh Jika Anda menggunakan plugin mysqlbinlog --skip-gtids binlog.000001 > /tmp/dump.sql mysql -u root -p -e "source /tmp/dump.sql"_06 dengan MySQL 8. 0. 31 atau lebih baru, Anda harus memberikan hak istimewa kepada pengguna ini , mysqlbinlog --skip-gtids binlog.000001 > /tmp/dump.sql mysql -u root -p -e "source /tmp/dump.sql"_09 Rekonstruksi kejadian baris dan tampilkan sebagai pernyataan SQL yang dikomentari, dengan informasi partisi tabel jika berlaku. Jika opsi ini diberikan dua kali (dengan meneruskan "-vv" atau "--verbose --verbose"), output menyertakan komentar untuk menunjukkan tipe data kolom dan beberapa metadata, dan peristiwa log informasi seperti peristiwa log kueri baris jika Untuk contoh yang menunjukkan efek dari dan pada keluaran peristiwa baris, lihat Bagian 4. 6. 9. 2, "Tampilan Acara Baris mysqlbinlog" , mysqlbinlog --skip-gtids binlog.000001 > /tmp/dump.sql mysql -u root -p -e "source /tmp/dump.sql"_15 Verifikasi checksum dalam file log biner , mysqlbinlog --skip-gtids binlog.000001 > /tmp/dump.sql mysql -u root -p -e "source /tmp/dump.sql"_17 Tampilkan informasi versi dan keluar Nomor versi mysqlbinlog yang ditampilkan saat menggunakan opsi ini adalah 3. 4 Tingkat kompresi yang digunakan untuk koneksi ke server yang menggunakan algoritme kompresi mysqlbinlog --skip-gtids binlog.000001 > /tmp/dump.sql mysql -u root -p -e "source /tmp/dump.sql"19. Level yang diizinkan adalah dari 1 hingga 22, dengan nilai yang lebih besar menunjukkan peningkatan level kompresi. Tingkat kompresi default mysqlbinlog --skip-gtids binlog.000001 > /tmp/dump.sql mysql -u root -p -e "source /tmp/dump.sql"_19 adalah 3. Pengaturan level kompresi tidak berpengaruh pada koneksi yang tidak menggunakan kompresi mysqlbinlog --skip-gtids binlog.000001 > /tmp/dump.sql mysql -u root -p -e "source /tmp/dump.sql"19 Bagaimana cara membaca log biner format baris di MySQL?Anda dapat menggunakan mysqlbinlog untuk membaca file log biner secara langsung dan menerapkannya ke server MySQL lokal . Anda juga dapat membaca log biner dari server jarak jauh dengan menggunakan opsi --read-from-remote-server. Untuk membaca log biner jarak jauh, opsi parameter koneksi dapat diberikan untuk menunjukkan cara menyambung ke server.
Apa itu format log biner di MySQL?Log biner berisi “peristiwa” yang menjelaskan perubahan database seperti operasi pembuatan tabel atau perubahan pada data tabel . Itu juga berisi peristiwa untuk pernyataan yang berpotensi membuat perubahan (misalnya, DELETE yang tidak cocok dengan baris), kecuali pencatatan berbasis baris digunakan.
Bagaimana cara mengaktifkan log biner MySQL dan mengatur ke baris?Mengaktifkan log biner
. Parameter log-bin ada di file konfigurasi bernama my. ini. Ketika kita menginstal MySQL Server, file konfigurasi dibuat di C. \ProgramData\MySQL\MySQL Server 8. 0 direktori. adding or removing the log-bin configuration option. The log-bin parameter is in the configuration files named my. ini. When we install MySQL Server, the configuration file is created in C:\ProgramData\MySQL\MySQL Server 8.0 directory.
Bagaimana cara memeriksa format log biner di MySQL?Untuk mengambil daftar semua BinLog yang ada di sistem Anda, gunakan perintah berikut. mysql> TAMPILKAN LOG BINER ; . |