26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm
26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm
Percona XtraBackup, sıcak yedekleme yapmak için kullanılan ücretsiz bir MySQL tabanlı programdır. Aynı zamanda açık kaynaklıdır. Percona XtraBackup ile, veritabanı hizmetinizi durdurmadan veya salt okunur hale getirmeden MySQL, MariaDB veya Percona Server veritabanlarını çalıştırmanın sıcak yedeklemelerini yapabilirsiniz. Bu, birçok çevrimiçi işletme için kritik bir özelliktir.
InnoDB, XtraDB ve HailDB depolama motorlarını kullanan veritabanları için Percona XtraBackup, engellemeyen yedeklemeler gerçekleştirebilir. MyISAM, Birleştirme ve Arşiv depolama motorlarını kullanan veritabanları için Percona XtraBackup, yedekleme prosedürünün sonunda yazma işlemlerini kısaca duraklatarak da yedekleme yapabilir.
Bu makalede, One-Click WordPress uygulamasını temel alan bir Vultr sunucusunda tam ve artımlı sıcak yedekleme yapmak için Percona XtraBackup'ı nasıl kuracağınızı ve kullanacağınızı göstereceğim. Tam bir yedekleme ve iki artımlı yedekleme gerçekleştireceğiz ve ardından veritabanını üç yedeklemenin her birinin durumuna geri yükleyeceğiz.
Tek tıklamayla WordPress Vultr sunucu örneğini sıfırdan dağıttığınızı ve SSH kullanarak kök olarak oturum açtığınızı varsayıyorum.
Güvenlik nedeniyle, önerilen bir uygulama kök izinlerine sahip başka bir kullanıcı hesabı oluşturmak, daha sonra oturum açmak ve sistemdeki günlük işlemlerinizi gerçekleştirmek için kullanmaktır. Süper kullanıcı komutlarının neredeyse tamamını komutla yürütebilirsiniz sudo
.
1) Yeni bir kullanıcı oluşturun. sysuser
Kendi kullanıcı adınızla değiştirin .
useradd sysuser
2) Yeni kullanıcınızın şifresini ayarlayın. sysuser
Kendi kullanıcı adınızla değiştirin .
passwd sysuser
3) Yeni kullanıcınıza kök izinleri verin.
visudo
Aşağıdaki paragrafı bulun.
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
Bu paragrafın hemen altına bir satır ekleyin sysuser
, kendi kullanıcı adınızla değiştirin .
sysuser ALL=(ALL) ALL
Kaydet ve çık.
:wq
4) Yeni kullanıcı hesabınıza geçin.
logout
Ardından, terminal pencerenizden giriş yapmak için yeni kullanıcının kimlik bilgilerini kullanın.
Varsayılan olarak, MySQL kök oturumu VPS'ye kaydedilir /root/.my.cnf
. Terminalinizdeki parolayı aşağıdaki komutla görüntüleyin.
sudo cat /root/.my.cnf
MySQL konsolunda oturum açmak için ekranda görüntülenen kimlik bilgilerini kullanın.
mysql -u root -p
MySQL kabuğunda aşağıdakileri çalıştırın.
SHOW DATABASES;
Tüm MySQL veritabanları ekranda görüntülenmiş olacaktır. Like adlı wp5273512
veritabanı yedeklemek istediğimiz WordPress veritabanıdır. Aşağıdaki komutta, wp5273512
kendi komutunuzla değiştirin :
USE wp5273512;
Her bir tablo için depolama motorunu kontrol edin:
SHOW TABLE STATUS\G
WordPress MySQL veritabanınızdaki tüm tabloların, Percona XtraBackup ile sıcak yedekleme yapmak için mükemmel olan InnoDB depolama motorunu kullandığını göreceksiniz.
MyISAM depolama motorunu kullanan diğer MySQL veritabanları için, yine de yazmaları kısaca duraklatarak Percona XtraBackup ile yedekleyebiliriz.
Yine de MySQL kabuğunda, yedekleme için özel bir veritabanı kullanıcısı oluşturmak için aşağıdaki komutları kullanın. Veritabanı kullanıcı adını xbuser
ve şifreyi xbpasswd
kendi adınızla değiştirmeyi unutmayın:
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;
Yukarıda verilen ayrıcalıklar tam Percona XtraBackup işlevselliği için gereklidir. Daha az işlevsellik ve daha iyi güvenlik için bazılarını kaldırabilirsiniz. Daha fazla ayrıntı için Percona XtraBackup resmi web sitesine bakın .
Percona XtraBackup'u Percona'nın RPM deposundan oldukça kolay bir şekilde kurabilirsiniz:
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
İlk olarak, kullanıcıyı eklemek gerekir sysuser
için mysql
grubun. sysuser
Kendi kullanıcı adınızla değiştirin .
sudo gpasswd -a sysuser mysql
Tam yedeklemeleri depolamak için bir dizin oluşturun.
sudo mkdir -p /dbbackup/full/
Artımlı yedeklemeleri depolamak için başka bir dizin oluşturun.
sudo mkdir -p /dbbackup/inc/
Bu dizinlerin sahibini kullanıcı sysuser
ve grup olarak değiştirin sysuser
.
sudo chown -R sysuser:sysuser /dbbackup
Bu değişiklikleri yürürlüğe koymak için oturumu kapatın.
logout
Ardından sysuser
tekrar oturum açın .
XtraBackup öncelikle XtraBackup programı ve innobackupex
perl betiğinden oluşur. Genellikle, innobackupex
kolaylık sağlamak için çeşitli çalıştırma prosedürlerini gerçekleştirmek için perl komut dosyasını kullanabilirsiniz .
İlk tam yedeklemeyi oluşturmak için aşağıdaki komutu girin. Veritabanı kullanıcı adını xbuser
, veritabanı kullanıcı parolasını xbpasswd
ve tam yedekleme dizinini /dbbackup/full/
kendi parolanızla değiştirmeyi unutmayın .
sudo innobackupex --user=xbuser --password=xbpasswd /dbbackup/full/
Bu komut doğru bir şekilde yürütüldüğünde, "innobackupex: tamamlandı!" Onay mesajını görürsünüz. çıktının son satırında.
Bu tam yedeklemenin yeni oluşturulan tüm dosyaları, zaman damgalı bir dizinde saklanır /dbbackup/full/
. Örneğin /dbbackup/full/2015-05-22_05-45-54
,.
İlk artımlı yedeği oluşturmak için aşağıdaki komutu girin. Komuttaki değişkenleri buna göre değiştirin.
sudo innobackupex --user=xbuser --password=xbpasswd --incremental --incremental-basedir=/dbbackup/full/2015-05-22_05-45-54 /dbbackup/inc/
Yine, "innobackupex: tamamlandı!" komut başarıyla yürütüldüğünde çıktının sonunda. Yedek dosyalar altında zaman damgalı bir dizinde saklanır /dbbackup/inc/
.
İkinci artımlı yedeklemeyi oluşturmak için aşağıdaki komutu girin. Komuttaki değişkenleri uygun şekilde değiştirin.
sudo innobackupex --user=xbuser --password=xbpasswd --incremental --incremental-basedir=/dbbackup/inc/2015-05-22_05-48-12 /dbbackup/inc/
Başarı üzerine, "innobackupex: tamamlandı!" mesajı tekrar. /dbbackup/inc/
Yedekleme dosyalarını görmek için klasörü tekrar kontrol edin .
Veritabanını geri yüklemek için kullanılmadan önce tüm veritabanı yedekleme dosyalarının hazırlanması gerekir.
Not : Hazırlama ve geri yükleme yordamlarını gerçekleştirmeden önce /dbbackup/
, dosyaların yedeklenmesinde herhangi bir zararın yanlışlıkla oluşması durumunda tüm yedekleme dizininin (örneğin ) bir kopyasını başka bir yerde tutmanız daha iyi olur.
Her yedekleme dizininde, xtrabackup_checkpoints
yedekleme türünü ve başlangıç ve bitiş günlük sırası numaralarını ( from_lsn
ve to_lsn
) içeren bir dosya vardır . Veritabanı geri yükleme stratejinizi açıklığa kavuşturmak için bu numaraları kullanabilirsiniz. Aşağıdaki örneklere bakın.
Gelen xtrabackup_checkpoints
ilk tam yedekleme dosyası, var:
backup_type = full-backuped
from_lsn = 0
to_lsn = 2932478
Gelen xtrabackup_checkpoints
ilk artımlı yedekleme dosyası, var:
backup_type =incremental
from_lsn = 2932478
to_lsn = 2970177
Gelen xtrabackup_checkpoints
ikinci artımlı yedekleme dosyası, var:
backup_type = incremental
from_lsn = 2970177
to_lsn = 3004672
Kısacası, her yedeği artan lsn sırası ile ele almalısınız. Lsn dizisi eksik veya düzensizse, veri kaybedebilirsiniz.
Not : Aşağıdaki komutlar üç dizin içerir, bunları kendi dizinlerinizle değiştirin.
Veritabanını ilk tam yedeklemenin durumuna geri yüklemek için, yedekleme dosyalarını aşağıdaki komutla hazırlamanız gerekir:
sudo innobackupex --apply-log /dbbackup/full/2015-05-22_05-45-54
Veritabanını ilk artımlı yedeklemenin durumuna geri yüklemek için, yedekleme dosyalarını aşağıdaki komutlarla hazırlamanız gerekir:
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
Veritabanını ikinci artımlı yedeklemenin durumuna geri yüklemek için, yedekleme dosyalarını aşağıdaki komutlarla hazırlamanız gerekir:
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
Notlar :
Artımlı yedeklemeler için, --redo-only
seçeneği son artımlı yedekleme dışındaki tüm öğelerde kullanmalısınız. Bununla birlikte, son artımlı yedeklemede bu seçeneğin kullanılması verilerinizin tutarlılığına hala zararsızdır - yalnızca veritabanının geri alınması nedeniyle biraz gecikmeye neden olur.
Her artımlı senaryonun son komutu isteğe bağlıdır ancak önerilir, çünkü geri yüklemeyi hızlandırır.
Hazırlıktan sonra, artımlı yedekleme dosyalarında kaydedilen değişiklikler hazırlanan temel tam yedekleme dosyalarına eklenecektir, bu nedenle tam bir yedekleme veya artımlı yedekleme seçseniz de, veritabanınızı geri yüklemek için her zaman hazırlanan tam yedekleme dosyalarını kullanmalısınız.
Veritabanınızı geri yükleyebilmeniz için önce veritabanı hizmetini durdurmanız gerekir.
sudo service mysqld stop
Veritabanı dizinini de boşaltmanız gerekir. Geçerli veritabanı dosyalarını önlem için başka bir yere taşıyabilirsiniz.
sudo mkdir /currentdb
sudo mv /var/lib/mysql/* /currentdb
Hazırlanan "tam yedekleme" dosyalarıyla veritabanınızı geri yükleyin.
sudo innobackupex --copy-back /dbbackup/full/2015-05-22_05-45-54
Geri yükleme yordamı veritabanı dizininin sahibini değiştireceğinden, mysql:mysql
çalışır duruma getirmek için dizini yeniden değiştirmeniz gerekir .
sudo chown -R mysql:mysql /var/lib/mysql
Veritabanı hizmetini yeniden başlatın.
sudo service mysqld start
Bu kadar. Bu noktada, geri yükleme işleminin başarılı olduğunu doğrulamak için WordPress sitenizi ziyaret edebilirsiniz.
26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm
Birçoğunuz Switch'in Mart 2017'de çıkacağını ve yeni özelliklerini biliyorsunuz. Bilmeyenler için, 'Switch'i 'olmazsa olmaz bir gadget' yapan özelliklerin bir listesini hazırladık.
Teknoloji devlerinin sözlerini yerine getirmesini mi bekliyorsunuz? teslim edilmeyenleri kontrol edin.
Büyük Veri Mimarisindeki farklı katmanları ve işlevlerini en basit şekilde öğrenmek için blogu okuyun.
Yapay Zekanın küçük ölçekli şirketler arasında nasıl popüler hale geldiğini ve onları büyütme ve rakiplerine üstünlük sağlama olasılıklarını nasıl artırdığını öğrenmek için bunu okuyun.
CAPTCHA, son birkaç yılda kullanıcıların çözmesi oldukça zorlaştı. Gelecekte spam ve bot tespitinde etkili kalabilecek mi?
Bilim hızla gelişip birçok çabamızı üstlendikçe, kendimizi açıklanamaz bir Tekilliğe maruz bırakmanın riskleri de artıyor. Okuyun, tekillik bizim için ne anlama gelebilir.
Teletıp, uzaktan sağlık hizmetleri ve gelecek nesiller üzerindeki etkisi nedir? Pandemi durumunda iyi bir yer mi değil mi? Bir görünüm bulmak için blogu okuyun!
Bilgisayar korsanlarının çok para kazandığını duymuş olabilirsiniz, ancak bu kadar parayı nasıl kazandıklarını hiç merak ettiniz mi? Hadi tartışalım.
Son zamanlarda Apple, sorunları gidermek için macOS Catalina 10.15.4'ü ek bir güncelleme yayınladı, ancak güncelleme, mac makinelerinde tuğla oluşmasına neden olan daha fazla soruna neden oluyor gibi görünüyor. Daha fazla bilgi edinmek için bu makaleyi okuyun