Ini adalah perintah pt-slave-restartp yang dapat dijalankan di penyedia hosting gratis OnWorks menggunakan salah satu dari beberapa workstation online gratis kami seperti Ubuntu Online, Fedora Online, Windows online emulator atau MAC OS online emulator
PROGRAM:
NAMA
pt-slave-restart - Tonton dan mulai ulang replikasi MySQL setelah kesalahan.
RINGKASAN
Penggunaan: pt-slave-restart [OPSI] [DSN]
pt-slave-restart melihat satu atau lebih slave replikasi MySQL untuk kesalahan, dan mencoba untuk
restart replikasi jika berhenti.
RISIKO
Percona Toolkit sudah matang, terbukti di dunia nyata, dan teruji dengan baik, tetapi semua basis data
alat dapat menimbulkan risiko bagi sistem dan server database. Sebelum menggunakan alat ini,
mohon untuk:
· Baca dokumentasi alat ini
· Tinjau "BUGS" alat yang dikenal
· Uji alat di server non-produksi
· Cadangkan server produksi Anda dan verifikasi cadangannya
DESKRIPSI
pt-slave-restart melihat satu atau lebih slave replikasi MySQL dan mencoba melewati pernyataan
yang menyebabkan kesalahan. Ini polling budak cerdas dengan tidur yang bervariasi secara eksponensial
waktu. Anda dapat menentukan kesalahan untuk melewati dan menjalankan budak sampai posisi binlog tertentu.
Meskipun alat ini dapat membantu budak memajukan kesalahan masa lalu, Anda tidak boleh mengandalkannya untuk
"memperbaiki" replikasi. Jika kesalahan budak sering terjadi atau tidak terduga, Anda harus mengidentifikasi
dan perbaiki akar masalahnya.
KELUARAN
Jika Anda menentukan "--verbose", pt-slave-restart mencetak baris setiap kali melihat slave
memiliki kesalahan. Lihat "--verbose" untuk detailnya.
TIDUR
pt-slave-restart tidur dengan cerdas di antara polling budak. Waktu tidur saat ini
bervariasi.
· Waktu tidur awal diberikan oleh "--sleep".
· Jika ia memeriksa dan menemukan kesalahan, ia membagi dua waktu tidur sebelumnya.
· Jika tidak menemukan kesalahan, itu menggandakan waktu tidur sebelumnya.
· Waktu tidur dibatasi di bawah dengan "--min-sleep" dan di atasnya oleh "--max-sleep".
· Segera setelah menemukan kesalahan, pt-slave-restart mengasumsikan kesalahan lain sangat
kemungkinan akan terjadi selanjutnya, jadi tidur waktu tidur saat ini atau waktu tidur awal,
mana yang lebih sedikit.
GLOBAL TRANSAKSI IDS
Pada Percona Toolkit 2.2.8, pt-slave-restart mendukung ID Transaksi Global yang diperkenalkan
di MySQL 5.6.5. Penting untuk diingat bahwa:
· pt-slave-restart tidak akan melewatkan transaksi saat banyak utas replikasi
sedang digunakan (slave_parallel_workers > 0). pt-slave-restart tidak tahu apa itu GTID
acara adalah transaksi yang gagal dari utas budak tertentu.
· Perilaku default adalah melewatkan transaksi berikutnya dari master slave. menulis
dapat berasal dari server yang berbeda, masing-masing dengan UUID mereka sendiri.
Lihat "--master-uuid".
EXIT STATUS
Status keluar dari 0 (kadang-kadang juga disebut nilai kembalian atau kode pengembalian) menunjukkan
kesuksesan. Nilai lain apa pun mewakili status keluar dari proses Perl itu sendiri, atau dari
proses bercabang terakhir yang keluar jika ada beberapa server untuk dipantau.
KOMPATIBILITAS
pt-slave-restart harus bekerja pada banyak versi MySQL. Huruf dari banyak kolom keluaran
from SHOW SLAVE STATUS telah berubah dari waktu ke waktu, jadi ini memperlakukan semuanya sebagai huruf kecil.
PILIHAN
Alat ini menerima argumen baris perintah tambahan. Lihat "SINOPSIS" dan penggunaan
informasi untuk rincian.
--selalu
Mulai budak bahkan ketika tidak ada kesalahan. Dengan opsi ini diaktifkan, pt-slave-restart
tidak akan membiarkan Anda menghentikan budak secara manual jika Anda mau!
--ask-lulus
Meminta kata sandi saat menghubungkan ke MySQL.
--rangkaian karakter
bentuk pendek: -A; jenis: string
Kumpulan karakter default. Jika nilainya utf8, setel binmode Perl di STDOUT ke utf8,
meneruskan opsi mysql_enable_utf8 ke DBD::mysql, dan menjalankan SET NAMES UTF8 setelahnya
menghubungkan ke MySQL. Nilai lain apa pun menetapkan binmode pada STDOUT tanpa lapisan utf8,
dan menjalankan SET NAMES setelah terhubung ke MySQL.
--[tidak]periksa-relay-log
default: ya
Periksa file dan posisi log relai terakhir sebelum memeriksa kesalahan slave.
Secara default pt-slave-restart tidak akan melakukan apa-apa (itu hanya akan tidur) jika tidak
file log relai maupun posisi log relai telah berubah sejak pemeriksaan terakhir. Ini
mencegah loop tak terbatas (yaitu memulai kembali kesalahan yang sama dalam file log relai yang sama di
posisi log relai yang sama).
Namun, untuk kesalahan budak tertentu, pemeriksaan ini perlu dinonaktifkan dengan menentukan
"--no-check-relay-log". Jangan lakukan ini kecuali Anda tahu apa yang Anda lakukan!
--konfigurasi
jenis: Array
Baca daftar file konfigurasi yang dipisahkan koma ini; jika ditentukan, ini harus menjadi yang pertama
pilihan pada baris perintah.
--mendaemonisasi
Garpu ke latar belakang dan lepaskan dari shell. Sistem operasi POSIX saja.
--basis data
bentuk pendek: -D; jenis: string
Basis data untuk digunakan.
--default-file
bentuk pendek: -F; jenis: string
Hanya baca opsi mysql dari file yang diberikan. Anda harus memberikan nama path absolut.
--panjang kesalahan
jenis: int
Panjang maksimum pesan kesalahan untuk dicetak. Ketika "--verbose" disetel cukup tinggi untuk dicetak
kesalahan, opsi ini akan memotong teks kesalahan ke panjang yang ditentukan. Ini bisa
berguna untuk mencegah pembungkus pada terminal.
--nomor-kesalahan
jenis: hash
Mulai ulang saja daftar kesalahan yang dipisahkan koma ini. Membuat pt-slave-restart hanya mencoba
mulai ulang jika nomor kesalahan ada dalam daftar kesalahan yang dipisahkan koma ini. Jika melihat sebuah
kesalahan tidak ada dalam daftar, itu akan keluar.
Nomor kesalahan ada di kolom "last_errno" dari "SHOW SLAVE STATUS".
--kesalahan-teks
jenis: string
Hanya restart error yang cocok dengan pola ini. Ekspresi reguler Perl yang menentangnya
teks kesalahan, jika ada, cocok. Jika teks kesalahan ada dan cocok, pt-slave-
restart akan mencoba untuk me-restart budak. Jika ada tetapi tidak cocok, pt-slave-
restart akan keluar.
Teks kesalahan ada di kolom "last_error" dari "SHOW SLAVE STATUS".
--membantu
Tunjukkan bantuan dan keluar.
--tuan rumah
bentuk pendek: -h; jenis: string
Hubungkan ke tuan rumah.
--catatan
jenis: string
Cetak semua output ke file ini saat di-daemon.
--max-tidur
jenis: mengapung; standar: 64
Detik tidur maksimum.
Waktu maksimum pt-slave-restart akan tidur sebelum polling slave lagi. Ini adalah
juga waktu pt-slave-restart akan menunggu semua instance lain yang sedang berjalan berhenti
jika keduanya "--stop" dan "--monitor" ditentukan.
Lihat "TIDUR".
--min-tidur
jenis: mengapung; standar: 0.015625
Waktu minimum pt-slave-restart akan tidur sebelum polling slave lagi. Lihat
"TIDUR".
--memantau
Apakah akan memantau budak (default). Kecuali Anda menentukan --monitor secara eksplisit,
"--stop" akan menonaktifkannya.
--kata sandi
bentuk pendek: -p; jenis: string
Kata sandi untuk digunakan saat menghubungkan. Jika kata sandi mengandung koma, mereka harus diloloskan
dengan garis miring terbalik: "ujian\,ple"
--pid
jenis: string
Buat file PID yang diberikan. Alat tidak akan mulai jika file PID sudah ada dan
PID yang dikandungnya berbeda dari PID saat ini. Namun, jika file PID
ada dan PID yang dikandungnya tidak lagi berjalan, alat akan menimpa PID
file dengan PID saat ini. File PID dihapus secara otomatis saat alat keluar.
--Pelabuhan
bentuk pendek: -P; jenis: int
Nomor port yang digunakan untuk koneksi.
--diam
bentuk pendek: -q
Menekan output normal (menonaktifkan "--verbose").
--berulang
jenis: int; default: 0
Tonton budak dari server yang ditentukan, hingga jumlah server yang ditentukan jauh di dalam
hierarki. Kedalaman default 0 berarti "lihat saja budak yang ditentukan."
pt-slave-restart memeriksa "SHOW PROCESSLIST" dan mencoba menentukan koneksi mana
berasal dari budak, lalu sambungkan ke mereka. Lihat "--rekursi-metode".
Rekursi bekerja dengan menemukan semua budak saat program dimulai, lalu menontonnya. Jika
ada lebih dari satu budak, "pt-slave-restart" menggunakan "fork()" untuk memantaunya.
Ini juga berfungsi jika Anda telah mengonfigurasi budak Anda untuk muncul di "SHOW SLAVE HOSTS".
Konfigurasi minimal untuk ini adalah parameter "report_host", tetapi ada parameter lain
parameter "laporan" juga untuk port, nama pengguna, dan kata sandi.
--rekursi-metode
jenis: susunan; default: daftar proses, host
Metode rekursi yang disukai digunakan untuk menemukan budak.
Metode yang mungkin adalah:
PENGGUNAAN METODE
===============================
daftar proses TUNJUKKAN DAFTAR PROSES
host TUNJUKKAN HOST BUDAK
tidak ada Jangan temukan budak
Metode daftar proses lebih disukai karena SHOW SLAVE HOSTS tidak dapat diandalkan.
Namun, metode host diperlukan jika server menggunakan port non-standar (tidak
3306). Biasanya pt-slave-restart melakukan hal yang benar dan menemukan budak, tetapi Anda
dapat memberikan metode yang disukai dan akan digunakan terlebih dahulu. Jika tidak menemukan budak,
metode lain akan dicoba.
--waktu berjalan
jenis: waktu
Saatnya berlari sebelum keluar. Menyebabkan pt-slave-restart berhenti setelah waktu yang ditentukan
telah berlalu. Sufiks opsional: s=detik, m=menit, h=jam, d=hari; jika tidak ada akhiran, s
digunakan.
--penjaga
jenis: tali; default: /tmp/pt-slave-restart-sentinel
Keluar jika file ini ada.
--set-vars
jenis: Array
Setel variabel MySQL dalam daftar pasangan "variabel=nilai" yang dipisahkan koma ini.
Secara default, set alat:
tunggu_waktu habis=10000
Variabel yang ditentukan pada baris perintah menggantikan default ini. Sebagai contoh,
menentukan "--set-vars wait_timeout=500" mengesampingkan nilai default 10000.
Alat ini mencetak peringatan dan melanjutkan jika variabel tidak dapat disetel.
--skip-hitung
jenis: int; default: 1
Jumlah pernyataan yang harus dilewati saat memulai ulang slave.
--master-uuid
jenis: string
Saat menggunakan GTID, transaksi kosong harus dibuat untuk melewatinya. Jika
penulisan berasal dari node yang berbeda di pohon replikasi di atas, bukan
mungkin untuk mengetahui acara mana dari UUID yang harus dilewati.
Secara default, transaksi dari master slave ('Master_UUID' dari "SHOW SLAVE
STATUS") dilewati.
Misalnya dengan
master1 -> budak1 -> budak2
Saat melewatkan acara pada slave2 yang ditulis ke master1, Anda harus menentukan UUID
dari master1, jika tidak, alat akan menggunakan UUID dari slave1 secara default.
Lihat "ID TRANSAKSI GLOBAL".
--tidur
jenis: int; default: 1
Detik tidur awal antara memeriksa budak.
Lihat "TIDUR".
--stopkontak
Surat pendek; jenis: string
File soket yang akan digunakan untuk koneksi.
--berhenti
Hentikan menjalankan instance dengan membuat file sentinel.
Menyebabkan "pt-slave-restart" untuk membuat file sentinel yang ditentukan oleh "--sentinel". Ini
seharusnya memiliki efek menghentikan semua instance yang sedang berjalan yang menonton yang sama
berkas penjaga. Jika "--monitor" tidak ditentukan, "pt-slave-restart" akan keluar setelah
membuat file. Jika ditentukan, "pt-slave-restart" akan menunggu interval
diberikan oleh "--max-sleep", lalu hapus file dan lanjutkan bekerja.
Anda mungkin menemukan ini berguna untuk menghentikan pekerjaan cron dengan anggun jika perlu, atau untuk menggantinya
menjalankan instance dengan yang lain. Misalnya, jika Anda ingin berhenti dan memulai kembali
"pt-slave-restart" setiap jam (hanya untuk memastikan bahwa itu dimulai ulang setiap jam, dalam
jika server mogok atau masalah lain), Anda dapat menggunakan baris "crontab" seperti
ini:
0 * * * * pt-slave-restart --monitor --stop --sentinel /tmp/pt-slave-restartup
Non-default "--sentinel" akan memastikan pekerjaan "cron" per jam hanya menghentikan instance
sebelumnya dimulai dengan opsi yang sama (yaitu, dari pekerjaan "cron" yang sama).
Lihat juga "--sentinel".
--sampai menguasai
jenis: string
Jalankan sampai file master log ini dan posisinya. Mulai budak, dan coba lagi jika gagal,
sampai mencapai koordinat replikasi yang diberikan. Koordinatnya adalah file log
dan posisi pada master, diberikan oleh relay_master_log_file, exec_master_log_pos. NS
argumen harus dalam format "file,pos". Pisahkan nama file dan posisinya dengan a
koma tunggal dan tanpa spasi.
Ini juga akan menyebabkan klausa UNTIL diberikan ke START SLAVE.
Setelah mencapai titik ini, slave harus dihentikan dan pt-slave-restart akan keluar.
--sampai-relay
jenis: string
Jalankan sampai file log relay ini dan posisinya. Seperti "--sampai-master", tapi di budak
relay log sebagai gantinya. Koordinat diberikan oleh relay_log_file, relay_log_pos.
--pengguna
bentuk pendek: -u; jenis: string
Pengguna untuk login jika bukan pengguna saat ini.
--bertele-tele
bentuk pendek: -v; kumulatif: ya; default: 1
Bertele-tele; dapat menentukan beberapa kali. Verbosity 1 mengeluarkan informasi koneksi, a
timestamp, relay_log_file, relay_log_pos, dan last_errno. Verbositas 2 menambahkan
kesalahan_terakhir. Lihat juga "--error-length". Verbosity 3 mencetak waktu tidur saat ini
setiap kali pt-slave-restart tidur.
--Versi: kapan
Tampilkan versi dan keluar.
--[no]versi-periksa
default: ya
Periksa versi terbaru Percona Toolkit, MySQL, dan program lainnya.
Ini adalah fitur standar "periksa pembaruan secara otomatis", dengan dua tambahan
fitur. Pertama, alat ini memeriksa versi program lain di sistem lokal di
tambahan untuk versinya sendiri. Misalnya, ia memeriksa versi setiap server MySQL
itu terhubung ke, Perl, dan modul Perl DBD::mysql. Kedua, ia memeriksa dan memperingatkan
tentang versi dengan masalah yang diketahui. Misalnya, MySQL 5.5.25 memiliki bug kritis dan
dirilis ulang sebagai 5.5.25a.
Setiap pembaruan atau masalah yang diketahui dicetak ke STDOUT sebelum keluaran normal alat.
Fitur ini tidak boleh mengganggu pengoperasian normal alat.
Untuk informasi lebih lanjut, kunjungi .
Tampilkan versi dan keluar.
DSN PILIHAN
Opsi DSN ini digunakan untuk membuat DSN. Setiap opsi diberikan seperti "opsi = nilai".
Opsi peka huruf besar/kecil, jadi P dan p bukan opsi yang sama. Tidak mungkin ada
spasi putih sebelum atau sesudah "=" dan jika nilainya mengandung spasi, itu harus dikutip.
Opsi DSN dipisahkan dengan koma. Lihat halaman manual percona-toolkit untuk detail lengkap.
· SEBUAH
dsn: rangkaian karakter; salinan: ya
Kumpulan karakter default.
· D
dsn: basis data; salinan: ya
Basis data bawaan.
· F
dsn: mysql_read_default_file; salinan: ya
Hanya baca opsi default dari file yang diberikan
· H
dsn: tuan rumah; salinan: ya
Hubungkan ke tuan rumah.
· P
dsn: kata sandi; salinan: ya
Kata sandi untuk digunakan saat menghubungkan. Jika kata sandi mengandung koma, mereka harus diloloskan
dengan garis miring terbalik: "ujian\,ple"
· P
dsn: pelabuhan; salinan: ya
Nomor port yang digunakan untuk koneksi.
· S
dsn: mysql_socket; salinan: ya
File soket yang akan digunakan untuk koneksi.
· kamu
dsn: pengguna; salinan: ya
Pengguna untuk login jika bukan pengguna saat ini.
LINGKUNGAN
Variabel lingkungan "PTDEBUG" memungkinkan keluaran debugging verbose ke STDERR. Untuk mengaktifkan
debugging dan tangkap semua output ke file, jalankan alat seperti:
PTDEBUG=1 pt-slave-restart ... > FILE 2>&1
Hati-hati: keluaran debug sangat banyak dan dapat menghasilkan beberapa megabita keluaran.
PELACAKAN PENGIRIMAN PERSYARATAN
Anda memerlukan Perl, DBI, DBD::mysql, dan beberapa paket inti yang harus diinstal di
versi Perl yang cukup baru.
Gunakan pt-slave-restartp online menggunakan layanan onworks.net