Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1
Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1
Percona XtraBackup adalah program berasaskan MySQL percuma yang digunakan untuk membuat sandaran panas. Ia juga bersumber terbuka. Dengan Percona XtraBackup, anda boleh membuat sandaran panas menjalankan pangkalan data MySQL, MariaDB, atau Percona Server tanpa menghentikan perkhidmatan pangkalan data anda atau menjadikannya hanya untuk membaca. Ini adalah ciri penting perniagaan untuk banyak perniagaan dalam talian.
Untuk pangkalan data yang menggunakan enjin penyimpanan InnoDB, XtraDB, dan HailDB, Percona XtraBackup dapat melakukan sandaran tanpa penyekat. Untuk pangkalan data yang menggunakan mesin penyimpanan MyISAM, Merge, dan Archive, Percona XtraBackup juga dapat melakukan sandaran dengan menjeda penulisan secara ringkas pada akhir prosedur sandaran.
Dalam artikel ini, saya akan menunjukkan kepada anda cara memasang dan menggunakan Percona XtraBackup untuk melakukan sandaran panas penuh dan tambahan pada pelayan Vultr berdasarkan aplikasi WordPress Satu Klik. Kami akan melakukan sandaran penuh dan dua cadangan tambahan, dan kemudian mengembalikan pangkalan data ke keadaan masing-masing dari tiga sandaran tersebut.
Saya mengandaikan bahawa anda telah menggunakan contoh pelayan WordPress Vultr Satu Klik dari awal dan telah log masuk sebagai root, menggunakan SSH.
Untuk tujuan keselamatan, amalan yang disarankan adalah membuat akaun pengguna lain dengan izin root, kemudian menggunakannya untuk log masuk dan melakukan operasi harian anda di sistem. Anda masih boleh melaksanakan hampir semua perintah superuser dengan sudo
perintah tersebut.
1) Buat pengguna baru. Ganti sysuser
dengan nama pengguna anda sendiri.
useradd sysuser
2) Tetapkan kata laluan untuk pengguna baru anda. Ganti sysuser
dengan nama pengguna anda sendiri.
passwd sysuser
3) Beri kebenaran root kepada pengguna baru anda.
visudo
Cari perenggan di bawah.
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
Tambahkan baris tepat di bawah perenggan ini, ganti sysuser
dengan nama pengguna anda sendiri.
sysuser ALL=(ALL) ALL
Simpan dan berhenti.
:wq
4) Tukar ke akaun pengguna baru anda.
logout
Kemudian, gunakan kelayakan pengguna baru untuk log masuk dari tetingkap terminal anda.
Secara lalai, log masuk root MySQL disimpan pada VPS di /root/.my.cnf
. Paparkan kata laluan di terminal anda dengan arahan berikut.
sudo cat /root/.my.cnf
Gunakan kelayakan yang dipaparkan di skrin untuk log masuk ke konsol MySQL.
mysql -u root -p
Dalam shell MySQL, jalankan yang berikut.
SHOW DATABASES;
Semua pangkalan data MySQL akan dipaparkan di skrin. Pangkalan data yang dinamakan seperti wp5273512
adalah pangkalan data WordPress yang ingin kita sandarkan. Dalam arahan berikut, ganti wp5273512
dengan perintah anda sendiri:
USE wp5273512;
Periksa mesin simpanan untuk setiap jadual:
SHOW TABLE STATUS\G
Anda akan mendapati bahawa semua jadual dalam pangkalan data MySQL WordPress anda menggunakan enjin penyimpanan InnoDB yang sangat sesuai untuk melakukan sandaran panas dengan Percona XtraBackup.
Untuk pangkalan data MySQL lain yang menggunakan enjin penyimpanan MyISAM, kami masih boleh membuat sandaran dengan Percona XtraBackup dengan menghentikan sementara penulisan.
Masih dalam shell MySQL, gunakan perintah berikut untuk membuat pengguna pangkalan data khusus untuk sandaran. Ingatlah untuk mengganti nama pengguna pangkalan data xbuser
dan kata laluan xbpasswd
dengan yang anda sendiri:
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;
Keistimewaan yang diberikan di atas diperlukan untuk fungsi Percona XtraBackup sepenuhnya. Anda boleh membuang sebahagian daripadanya kerana kurang fungsi dan keselamatan yang lebih baik. Untuk maklumat lebih lanjut, lihat laman web rasmi Percona XtraBackup .
Anda boleh memasang Percona XtraBackup dari repositori RPM Percona dengan 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
kumpulan. Ganti sysuser
dengan nama pengguna anda sendiri.
sudo gpasswd -a sysuser mysql
Buat direktori untuk menyimpan sandaran penuh.
sudo mkdir -p /dbbackup/full/
Buat direktori lain untuk menyimpan sandaran tambahan.
sudo mkdir -p /dbbackup/inc/
Tukar pemilik direktori ini kepada pengguna sysuser
dan kumpulan sysuser
.
sudo chown -R sysuser:sysuser /dbbackup
Log keluar untuk melaksanakan perubahan ini.
logout
Kemudian, log masuk dengan sysuser
sekali lagi.
XtraBackup terdiri terutamanya dari program XtraBackup dan innobackupex
skrip perl. Biasanya, anda boleh menggunakan innobackupex
skrip perl untuk melakukan pelbagai prosedur operasi untuk kemudahan.
Masukkan arahan berikut untuk membuat sandaran penuh pertama. Ingatlah untuk mengganti nama pengguna pangkalan data xbuser
, kata laluan pengguna pangkalan data xbpasswd
, dan direktori sandaran penuh /dbbackup/full/
dengan yang anda miliki.
sudo innobackupex --user=xbuser --password=xbpasswd /dbbackup/full/
Dengan perintah ini dilaksanakan dengan betul, anda akan melihat mesej pengesahan "innobackupex: selesai OK!" pada baris terakhir output.
Semua fail sandaran penuh yang baru dibuat ini akan disimpan dalam direktori yang diberi cap masa di bawah /dbbackup/full/
. Contohnya , /dbbackup/full/2015-05-22_05-45-54
.
Masukkan arahan berikut untuk membuat cadangan tambahan pertama. Pemboleh ubah pengganti dalam arahan dengan sewajarnya.
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!" pada akhir output apabila arahan berjaya dilaksanakan. Fail sandaran akan disimpan dalam direktori yang dicap waktu di bawah /dbbackup/inc/
.
Masukkan arahan berikut untuk membuat cadangan tambahan kedua. Gantikan pemboleh ubah dalam arahan dengan sewajarnya.
sudo innobackupex --user=xbuser --password=xbpasswd --incremental --incremental-basedir=/dbbackup/inc/2015-05-22_05-48-12 /dbbackup/inc/
Setelah berjaya, anda akan melihat "innobackupex: selesai OK!" pesan lagi. Periksa /dbbackup/inc/
folder sekali lagi untuk melihat fail sandaran.
Semua fail sandaran pangkalan data perlu disediakan sebelum dapat digunakan untuk memulihkan pangkalan data.
Catatan : Sebelum melakukan prosedur penyediaan dan pemulihan, sebaiknya simpan salinan keseluruhan direktori sandaran (seperti /dbbackup/
) di tempat lain sekiranya kerosakan pada sandaran fail disebabkan oleh kesalahan.
Di setiap direktori sandaran, ada file bernama xtrabackup_checkpoints
yang berisi jenis sandaran dan nombor urutan log awal dan akhir ( from_lsn
dan to_lsn
). Anda boleh menggunakan nombor tersebut untuk menjelaskan strategi pemulihan pangkalan data anda. Lihat contoh di bawah.
Dalam xtrabackup_checkpoints
fail sandaran penuh pertama, saya mempunyai:
backup_type = full-backuped
from_lsn = 0
to_lsn = 2932478
Dalam xtrabackup_checkpoints
fail cadangan tambahan pertama, saya mempunyai:
backup_type =incremental
from_lsn = 2932478
to_lsn = 2970177
Dalam xtrabackup_checkpoints
fail cadangan tambahan kedua, saya mempunyai:
backup_type = incremental
from_lsn = 2970177
to_lsn = 3004672
Secara ringkas, anda harus mengatasi setiap cadangan dengan susunan lsn yang semakin meningkat. Sekiranya urutan lsn tidak lengkap atau tidak teratur, anda mungkin kehilangan data.
Catatan : Perintah berikut melibatkan tiga direktori, gantinya dengan yang anda sendiri.
Untuk memulihkan pangkalan data ke keadaan sandaran penuh pertama, anda perlu menyediakan fail sandaran dengan arahan berikut:
sudo innobackupex --apply-log /dbbackup/full/2015-05-22_05-45-54
Untuk mengembalikan pangkalan data ke keadaan cadangan tambahan pertama, anda perlu menyiapkan fail sandaran dengan arahan 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 pangkalan data ke keadaan cadangan tambahan kedua, anda perlu menyiapkan fail sandaran dengan arahan 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 tambahan, Anda harus menggunakan --redo-only
pilihan pada semua kecuali cadangan tambahan terakhir. Walaupun begitu, menggunakan pilihan ini pada sandaran tambahan terakhir masih tidak berbahaya bagi konsistensi data anda - ia hanya akan menyebabkan beberapa kelewatan kerana penggantian pangkalan data.
Perintah terakhir dari setiap senario tambahan adalah pilihan tetapi disyorkan, kerana akan mempercepat pemulihan.
Selepas penyediaan, perubahan yang dicatatkan dalam fail cadangan tambahan akan ditambahkan ke fail sandaran penuh yang disiapkan, jadi anda harus selalu menggunakan fail sandaran penuh yang disiapkan untuk memulihkan pangkalan data anda, tidak kira jika anda memilih sandaran penuh atau cadangan tambahan.
Sebelum anda dapat memulihkan pangkalan data anda, anda perlu menghentikan perkhidmatan pangkalan data.
sudo service mysqld stop
Anda juga perlu mengosongkan direktori pangkalan data. Anda boleh memindahkan fail pangkalan data semasa ke tempat lain untuk berjaga-jaga.
sudo mkdir /currentdb
sudo mv /var/lib/mysql/* /currentdb
Pulihkan pangkalan data anda dengan fail "sandaran penuh" yang disediakan.
sudo innobackupex --copy-back /dbbackup/full/2015-05-22_05-45-54
Kerana prosedur pemulihan akan mengubah pemilik direktori pangkalan data, anda perlu mengubahnya kembali mysql:mysql
untuk menjadikannya beroperasi.
sudo chown -R mysql:mysql /var/lib/mysql
Mulakan semula perkhidmatan pangkalan data.
sudo service mysqld start
Itu sahaja. Pada ketika ini, anda boleh mengunjungi laman WordPress anda untuk mengesahkan bahawa proses pemulihan berjaya.
Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1
Ramai daripada anda tahu Switch akan keluar pada Mac 2017 dan ciri baharunya. Bagi yang tidak tahu, kami telah menyediakan senarai ciri yang menjadikan 'Tukar' sebagai 'gajet yang mesti ada'.
Adakah anda menunggu gergasi teknologi memenuhi janji mereka? semak apa yang masih belum dihantar.
Baca blog untuk mengetahui lapisan berbeza dalam Seni Bina Data Besar dan fungsinya dengan cara yang paling mudah.
Baca ini untuk mengetahui cara Kecerdasan Buatan semakin popular di kalangan syarikat berskala kecil dan cara ia meningkatkan kebarangkalian untuk menjadikan mereka berkembang dan memberikan pesaing mereka kelebihan.
CAPTCHA telah menjadi agak sukar untuk diselesaikan oleh pengguna dalam beberapa tahun kebelakangan ini. Adakah ia dapat kekal berkesan dalam pengesanan spam dan bot pada masa hadapan?
Apabila Sains Berkembang pada kadar yang pantas, mengambil alih banyak usaha kita, risiko untuk menundukkan diri kita kepada Ketunggalan yang tidak dapat dijelaskan juga meningkat. Baca, apakah makna ketunggalan bagi kita.
Apakah teleperubatan, penjagaan kesihatan jauh dan impaknya kepada generasi akan datang? Adakah ia tempat yang baik atau tidak dalam situasi pandemik? Baca blog untuk mencari paparan!
Anda mungkin pernah mendengar bahawa penggodam memperoleh banyak wang, tetapi pernahkah anda terfikir bagaimana mereka memperoleh wang seperti itu? Mari berbincang.
Baru-baru ini Apple mengeluarkan macOS Catalina 10.15.4 kemas kini tambahan untuk menyelesaikan masalah tetapi nampaknya kemas kini itu menyebabkan lebih banyak masalah yang membawa kepada pemusnahan mesin mac. Baca artikel ini untuk mengetahui lebih lanjut