Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1
Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1
Percona XtraBackup adalah program berbasis MySQL gratis yang digunakan untuk membuat cadangan panas. Ini juga bersumber terbuka. Dengan Percona XtraBackup, Anda dapat membuat cadangan panas menjalankan database MySQL, MariaDB, atau Percona Server tanpa menghentikan layanan basis data Anda atau membuatnya hanya-baca. Ini adalah fitur penting bisnis untuk banyak bisnis online.
Untuk database yang menggunakan mesin penyimpanan InnoDB, XtraDB, dan HailDB, Percona XtraBackup dapat melakukan pencadangan non-pemblokiran. Untuk basis data yang menggunakan mesin penyimpanan MyISAM, Gabung, dan Arsip, Percona XtraBackup juga dapat melakukan pencadangan dengan menjeda sebentar penulisan di akhir prosedur pencadangan.
Pada artikel ini, saya akan menunjukkan kepada Anda bagaimana menginstal dan menggunakan Percona XtraBackup untuk melakukan backup panas penuh dan tambahan pada server Vultr berdasarkan pada aplikasi WordPress Satu-Klik. Kami akan melakukan pencadangan penuh dan dua pencadangan inkremental, dan kemudian mengembalikan basis data ke masing-masing dari tiga pencadangan yang sesuai.
Saya berasumsi bahwa Anda telah menggunakan contoh server One-Click WordPress Vultr dari awal dan telah login sebagai root, menggunakan SSH.
Untuk tujuan keamanan, praktik yang disarankan adalah membuat akun pengguna lain dengan izin root, lalu menggunakannya untuk masuk dan melakukan operasi harian Anda pada sistem. Anda masih dapat menjalankan hampir semua perintah superuser dengan sudo
perintah tersebut.
1) Buat pengguna baru. Ganti sysuser
dengan nama pengguna Anda sendiri.
useradd sysuser
2) Tetapkan kata sandi untuk pengguna baru Anda. Ganti sysuser
dengan nama pengguna Anda sendiri.
passwd sysuser
3) Berikan izin root kepada pengguna baru Anda.
visudo
Temukan paragraf di bawah ini.
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
Tambahkan baris langsung di bawah paragraf ini, ganti sysuser
dengan nama pengguna Anda sendiri.
sysuser ALL=(ALL) ALL
Simpan dan keluar.
:wq
4) Beralih ke akun pengguna baru Anda.
logout
Kemudian, gunakan kredensial pengguna baru untuk masuk dari jendela terminal Anda.
Secara default, login root MySQL disimpan di VPS di /root/.my.cnf
. Tampilkan kata sandi di terminal Anda dengan perintah berikut.
sudo cat /root/.my.cnf
Gunakan kredensial yang ditampilkan di layar untuk masuk ke konsol MySQL.
mysql -u root -p
Di shell MySQL, jalankan yang berikut ini.
SHOW DATABASES;
Semua database MySQL akan ditampilkan di layar. Database bernama like wp5273512
adalah database WordPress yang ingin kami backup. Dalam perintah berikut, ganti wp5273512
dengan yang Anda miliki:
USE wp5273512;
Periksa mesin penyimpanan untuk setiap tabel:
SHOW TABLE STATUS\G
Anda akan menemukan bahwa semua tabel di database MySQL WordPress Anda menggunakan mesin penyimpanan InnoDB yang sempurna untuk melakukan backup panas dengan Percona XtraBackup.
Untuk basis data MySQL lainnya yang menggunakan mesin penyimpanan MyISAM, kita masih dapat mencadangkannya dengan Percona XtraBackup dengan menghentikan sebentar penulisan.
Masih di shell MySQL, gunakan perintah berikut untuk membuat pengguna database khusus untuk cadangan. Ingatlah untuk mengganti nama pengguna xbuser
dan kata sandi basis data xbpasswd
dengan yang Anda miliki:
CREATE USER 'xbuser'@'localhost' IDENTIFIED BY 'xbpasswd';
GRANT RELOAD, LOCK TABLES, REPLICATION CLIENT, CREATE TABLESPACE, PROCESS, SUPER, CREATE, INSERT, SELECT ON *.* TO 'xbuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Hak istimewa yang diberikan di atas diperlukan untuk fungsionalitas Percona XtraBackup penuh. Anda dapat menghapus beberapa dari mereka untuk fungsi yang lebih sedikit dan keamanan yang lebih baik. Untuk lebih jelasnya, lihat situs web resmi Percona XtraBackup .
Anda dapat menginstal Percona XtraBackup dari repositori RPM Percona dengan cukup mudah:
sudo yum install -y http://www.percona.com/downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpm
sudo yum install -y percona-xtrabackup
Pertama, Anda perlu menambahkan pengguna sysuser
ke mysql
grup. Ganti sysuser
dengan nama pengguna Anda sendiri.
sudo gpasswd -a sysuser mysql
Buat direktori untuk menyimpan cadangan lengkap.
sudo mkdir -p /dbbackup/full/
Buat direktori lain untuk menyimpan cadangan tambahan.
sudo mkdir -p /dbbackup/inc/
Ubah pemilik direktori ini menjadi pengguna sysuser
dan grup sysuser
.
sudo chown -R sysuser:sysuser /dbbackup
Logout untuk menerapkan perubahan ini.
logout
Lalu, masuk dengan sysuser
lagi.
XtraBackup terutama terdiri dari program XtraBackup dan innobackupex
skrip perl. Biasanya, Anda dapat menggunakan innobackupex
skrip perl untuk melakukan berbagai prosedur pengoperasian untuk kenyamanan.
Masukkan perintah berikut untuk membuat cadangan lengkap pertama. Ingatlah untuk mengganti nama pengguna basis data xbuser
, kata sandi pengguna basis data xbpasswd
, dan direktori cadangan lengkap /dbbackup/full/
dengan yang Anda miliki.
sudo innobackupex --user=xbuser --password=xbpasswd /dbbackup/full/
Dengan perintah ini dijalankan dengan benar, Anda akan melihat pesan konfirmasi "innobackupex: selesai OK!" pada baris terakhir dari output.
Semua file yang baru dibuat dari cadangan lengkap ini akan disimpan dalam direktori yang bertanda waktu di bawah /dbbackup/full/
. Sebagai contoh /dbbackup/full/2015-05-22_05-45-54
,.
Masukkan perintah berikut untuk membuat cadangan tambahan pertama. Pengganti variabel dalam perintah sesuai.
sudo innobackupex --user=xbuser --password=xbpasswd --incremental --incremental-basedir=/dbbackup/full/2015-05-22_05-45-54 /dbbackup/inc/
Sekali lagi, Anda akan melihat "innobackupex: selesai OK!" di akhir output ketika perintah dijalankan dengan sukses. File cadangan akan disimpan di direktori bertanda waktu di bawah /dbbackup/inc/
.
Masukkan perintah berikut untuk membuat cadangan inkremental kedua. Ganti variabel dalam perintah sesuai.
sudo innobackupex --user=xbuser --password=xbpasswd --incremental --incremental-basedir=/dbbackup/inc/2015-05-22_05-48-12 /dbbackup/inc/
Setelah sukses, Anda akan melihat "innobackupex: selesai OK!" pesan lagi. Periksa /dbbackup/inc/
lagi folder untuk melihat file cadangan.
Semua file cadangan database harus disiapkan sebelum dapat digunakan untuk mengembalikan database.
Catatan : Sebelum Anda melakukan prosedur persiapan dan pengembalian, Anda sebaiknya menyimpan salinan seluruh direktori cadangan (seperti /dbbackup/
) di tempat lain jika ada kerusakan pada cadangan file yang disebabkan oleh kesalahan.
Di setiap direktori cadangan, ada file bernama xtrabackup_checkpoints
yang berisi jenis cadangan dan nomor urutan log awal dan akhir ( from_lsn
dan to_lsn
). Anda dapat menggunakan angka-angka itu untuk memperjelas strategi pemulihan basis data Anda. Lihatlah contoh di bawah ini.
Dalam xtrabackup_checkpoints
file cadangan lengkap pertama, saya punya:
backup_type = full-backuped
from_lsn = 0
to_lsn = 2932478
Dalam xtrabackup_checkpoints
file cadangan inkremental pertama, saya punya:
backup_type =incremental
from_lsn = 2932478
to_lsn = 2970177
Dalam xtrabackup_checkpoints
file cadangan inkremental kedua, saya punya:
backup_type = incremental
from_lsn = 2970177
to_lsn = 3004672
Secara singkat, Anda harus menangani setiap cadangan dengan urutan lsn yang meningkat. Jika urutan lsn tidak lengkap atau tidak teratur, Anda dapat kehilangan data.
Catatan : Perintah berikut melibatkan tiga direktori, ganti dengan yang Anda miliki.
Untuk mengembalikan database ke keadaan cadangan penuh pertama, Anda perlu menyiapkan file cadangan dengan perintah berikut:
sudo innobackupex --apply-log /dbbackup/full/2015-05-22_05-45-54
Untuk mengembalikan database ke status cadangan tambahan pertama, Anda harus menyiapkan file cadangan dengan perintah berikut:
sudo innobackupex --apply-log --redo-only /dbbackup/full/2015-05-22_05-45-54
sudo innobackupex --apply-log /dbbackup/full/2015-05-22_05-45-54 --incremental-dir=/dbbackup/inc/2015-05-22_05-48-12
sudo innobackupex --apply-log /dbbackup/full/2015-05-22_05-45-54
Untuk mengembalikan database ke status cadangan tambahan kedua, Anda perlu menyiapkan file cadangan dengan perintah berikut:
sudo innobackupex --apply-log --redo-only /dbbackup/full/2015-05-22_05-45-54
sudo innobackupex --apply-log --redo-only /dbbackup/full/2015-05-22_05-45-54 --incremental-dir=/dbbackup/inc/2015-05-22_05-48-12
sudo innobackupex --apply-log /dbbackup/full/2015-05-22_05-45-54 --incremental-dir=/dbbackup/inc/2015-05-22_05-51-32
sudo innobackupex --apply-log /dbbackup/full/2015-05-22_05-45-54
Catatan :
Untuk cadangan inkremental, Anda harus menggunakan --redo-only
opsi pada semua kecuali cadangan inkremental terakhir. Namun demikian, menggunakan opsi ini pada cadangan inkremental terakhir masih tidak berbahaya bagi konsistensi data Anda - itu hanya akan menyebabkan beberapa penundaan karena rollback basis data.
Perintah terakhir dari setiap skenario tambahan adalah opsional tetapi disarankan, karena akan mempercepat pemulihan.
Setelah persiapan, perubahan yang dicatat dalam file cadangan tambahan akan ditambahkan ke file cadangan lengkap basis yang disiapkan, jadi Anda harus selalu menggunakan file cadangan lengkap yang disiapkan untuk memulihkan database Anda, tidak masalah jika Anda memilih cadangan penuh atau cadangan tambahan.
Sebelum Anda dapat memulihkan database Anda, Anda harus menghentikan layanan database.
sudo service mysqld stop
Anda juga perlu mengosongkan direktori basis data. Anda dapat memindahkan file database saat ini ke tempat lain untuk pencegahan.
sudo mkdir /currentdb
sudo mv /var/lib/mysql/* /currentdb
Kembalikan database Anda dengan file "cadangan lengkap" yang disiapkan.
sudo innobackupex --copy-back /dbbackup/full/2015-05-22_05-45-54
Karena prosedur pemulihan akan mengubah pemilik direktori basis data, Anda perlu mengubahnya kembali mysql:mysql
untuk membuatnya operasional.
sudo chown -R mysql:mysql /var/lib/mysql
Mulai ulang layanan basis data.
sudo service mysqld start
Itu dia. Pada titik ini, Anda dapat mengunjungi situs WordPress Anda untuk memverifikasi bahwa proses pemulihan berhasil.
Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1
Banyak dari Anda tahu Switch keluar pada Maret 2017 dan fitur-fitur barunya. Bagi yang belum tahu, kami sudah menyiapkan daftar fitur yang membuat 'Switch' menjadi 'gadget yang wajib dimiliki'.
Apakah Anda menunggu raksasa teknologi untuk memenuhi janji mereka? periksa apa yang belum terkirim.
Baca blog untuk mengetahui berbagai lapisan dalam Arsitektur Big Data dan fungsinya dengan cara yang paling sederhana.
Baca ini untuk mengetahui bagaimana Kecerdasan Buatan menjadi populer di antara perusahaan skala kecil dan bagaimana hal itu meningkatkan kemungkinan untuk membuat mereka tumbuh dan memberi keunggulan pada pesaing mereka.
CAPTCHA telah berkembang cukup sulit bagi pengguna untuk dipecahkan dalam beberapa tahun terakhir. Apakah itu akan tetap efektif dalam deteksi spam dan bot di masa mendatang?
Saat Sains Berkembang dengan kecepatan tinggi, mengambil alih banyak upaya kita, risiko menundukkan diri kita pada Singularitas yang tidak dapat dijelaskan juga meningkat. Baca, apa arti singularitas bagi kita.
Apa itu telemedicine, perawatan kesehatan jarak jauh dan dampaknya terhadap generasi mendatang? Apakah itu tempat yang bagus atau tidak dalam situasi pandemi? Baca blog untuk menemukan tampilan!
Anda mungkin pernah mendengar bahwa peretas menghasilkan banyak uang, tetapi pernahkah Anda bertanya-tanya bagaimana cara mereka mendapatkan uang sebanyak itu? mari berdiskusi.
Baru-baru ini Apple merilis macOS Catalina 10.15.4 pembaruan suplemen untuk memperbaiki masalah tetapi tampaknya pembaruan menyebabkan lebih banyak masalah yang mengarah ke bricking mesin mac. Baca artikel ini untuk mempelajari lebih lanjut