|
|
Yayınlandı 30.09.2021 14:42:47
|
|
|
|

Zamanlı veritabanı yedeklemesi her geliştirici için mutlaka denenmelidir ve düzenli yedekleme verileri, bazı verilerin yanlışlıkla silinmesi sorununu çözebilir; veriler belirli bir ana geri getirilebilir ve kayıpları en aza indirebilir.
MySQL, veritabanı verilerini ve dosyalarını komut satırından dışa aktarmak için kullanışlı bir araç olan mysqldump sunar; bu araç veri tabanlarını komut satırından aktarabilir.
Eleştiri:
Bu makale kullanılmıştırCentOS 7ortam, uzak veritabanlarını MySQL dump üzerinden yerel yere yedeklemek. Mysqldump komutunu doğrudan çalıştırırsak, hata şu şekilde olur:
-Bash: MySQL Dump: Komut bulunmadı Burada açık kaynaklı üçüncü taraf bir paket öneriliyor: MySQL ve Drizzle için yüksek performanslı, çok iş parçacıklı yedekleme ve kurtarma aracı olan Mydumper. Mysqldump yedekleme hızından ve kurtarma hızından daha hızlı.
GitHub adresi:Bağlantı girişi görünür.
Kurulum komutu şöyledir:
Bu şekilde, hem mydumper hem de myloader komutları zaten kullanılabilir, mydumper dışa aktarmadan, myloader ise içe aktarmadan sorumludur, aşağıdaki şekilde gösterildiği gibi:
mydumperParametre açıklaması
-B, --database Yedeklenecek veritabanı, belirtilmediyse tüm kütüphaneleri yedekleyin -T, --tablolar-listesi Yedeklemesi gereken tablolar, isimler virgülle ayrılmıştır -o, --outputdir dosyanın çıktı olduğu dizini yedeklemek için -s, --statement-size Insert ifadesinin bayt sayısı --statement-size tarafından üretilir varsayılan olarak 10000000'dir. -r, --satır Bir tabloyu satırlara bölerken, blok satır sayısını belirtin; bu seçeneği belirtmek --chunk-filesize kapanır -F, --chunk-filesize'i tabloyu boyuta göre parçalarken, belirtilen blok boyutu MB cinsinden -c, --sıkıştır sıkıştır çıkış dosyasını sıkıştır -e, --build-empty-files tablo verisi boş ise veya boş bir dosya üretiyorsa (varsayılan olarak veri yoksa, sadece tablo yapı dosyası oluşturulur) -x, --regex ise 'db.table' ile eşleşen düzenli ifadeyle aynıdır -i, --ignore-engine'ler depolama motorlarını görmezden gelir ve kalın bölme kullanır -m, --şemasızlar tablo yapılarını yedeklemez -k, --no-locklar geçici paylaşılan okunur kilitleri kullanmaz ve bu seçeneğin kullanılması veri tutarsızlıklarına yol açar --less-locking, InnoDB tablolarına kilitlerin uygulanması için gereken süreyi azaltır (bu desenin mekanikleri aşağıda ayrıntılı olarak açıklanmıştır) -l, --long-query-guard Yedeklemeleri engelleyen uzun sorgular için zaman aşımını saniyeler cinsinden ayarlayın ve varsayılan olarak 60 saniyedir (mydumper zaman aşımından sonra varsayılan olarak çıkar). --kill-long-queries kill long queries (çıkmadan) -b, --binloglar binlogları dışa aktarır -D, --daemon daemon modunu etkinleştirir, bu mod veritabanını belirli aralıklarla kesintisiz yedekleme yapar -I, --snapshot-interval dump Snapshot aralığı süresi, varsayılan 60'lar, daemon modunda olmalı -L, --logfile log dosya adını (mydumper tarafından oluşturulan log) kullanır ve varsayılan olarak standart çıktıyı kullanır --TZ-UTC saat dilimleri arasında kullanılan bir seçenektir, açıklanmaz. --skip-tz-utc Id --use-savepoints Meta veri toplama nedeniyle oluşan kilit süresini azaltmak için kayıt noktalarını kullanın; bu da SUPER izinleri gerektirir --success-on-1146 Artış hata sayısı değil ve tablo mevcut değilse Kritik yerine Uyarı -h, --host bağlantının ana bilgisayar adı -u, --kullanıcı kullandığı yedeği -p, --şifre şifresi -P, --port portu -S, --socket Soket iletişimi kullanılırken soket dosyası -t, --threads Varsayılan yedek iş parçacığı sayısı 4'tür. -C, --compress-protocol mysql ile iletişim kuran verileri sıkıştırıyor -V, --versiyon sürüm numarasını gösterir -v, --çok konuşulu çıktı bilgi deseni, 0 = sessiz, 1 = hata, 2 = uyarı, 3 = bilgi, varsayılan olarak 2 myloaderParametre açıklaması
-d, --yedek dosyası için dizin klasörü -q, --işlem başına sorgu Bir şey başına yürütülen sorgu sayısı varsayılan olarak 1000'dir -o, --overwrite-tables Eğer geri yüklenecek tablo varsa, önce tabloyu bırakın, bu parametri kullanın ve yedekleme ihtiyacınız olduğunda tablo yapısını yedekleyin -B, --veritabanı Geri yüklenmesi gereken veritabanı -e, --enable-binlog ikili logların veriyi geri yüklemesini sağlar -h, --hosthost -u, --kullanıcı geri yüklendi -p, --şifre şifresi -P, --port portu -S, --soket soketi dosyası -t, --threads kullanılan iş parçacığı sayısını geri getirir, varsayılan 4'tür -C, --sıkıştırma protokolü -V, --versiyonu -v, --çok konuşulmuş çıkış modu, 0 = sessiz, 1 = hata, 2 = uyarı, 3 = bilgi, varsayılan olarak 2 Test yedekleri
Veritabanı dışa aktarma komutu şöyledir:
Çalıştırmadan sonra, mydumper parametrelerden geçtiğimiz belirli bir dizin adresi oluşturur; bu adres, yedek zamanında ikili log dosyası adını ve logun yazıldığı yeri kaydeden meta veri dosyasını içerir. Her tabloda iki yedek files:database.table-schema.sql bir tablo yapı dosyası ve database.table.sql tablo veri dosyası bulunur.
Planlanmış yedekler
Referans makaleler şunlardır:
:backup_uat.sh adında yeni bir shell script oluşturalım, şu şekilde:
Yürütme İzinleri Verin:
Bir görev ekle
Görev her gün saat 00:10'da gerçekleştirilir
Konfigürasyonu yeniden yükleyin
(Son)
|
Önceki:Linux ortamı temelleri: el6, el7 ve el8'i rpm paketlerine yüklemek arasındaki farkÖnümüzdeki:RAID Teknolojisi Açıklandı - RAID0, RAID1, RAID3, RAID5, RAID6, RAID10 karşılaştırması
|