Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 27725|Yanıt: 4

[Kaynak] Linux ortamlarında düzenli olarak uzak MySQL veritabanlarını yedeklemek

[Bağlantıyı kopyala]
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:

mysqldump veritabanı özetlerini içe ve dışa aktarır
https://www.itsvse.com/thread-4353-1-1.html

Windows ortamında otomatik olarak yedeklemeleri planlamak için MySQL kullanın
https://www.itsvse.com/thread-7412-1-1.html

[Yeniden Baskı] Linux altında web siteleri ve veritabanları için düzenli olarak betikleri yedeklemek
https://www.itsvse.com/thread-4428-1-1.html

MySQL veritabanı yedekleme ve dışa aktarma
https://www.itsvse.com/thread-4004-1-1.html
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:

Linux ortamı temelleri: el6, el7 ve el8'i rpm paketlerine yüklemek arasındaki fark
https://www.itsvse.com/thread-10098-1-1.html
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:

CentOS 7, görevleri düzenli aralıklarla yerine getirmek için crontab kullanır
https://www.itsvse.com/thread-9280-1-1.html
: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ı
 Ev sahibi| Yayınlandı 30.09.2021 17:03:15 |
Veritabanını yedekleme dosyasından geri yüklemeyi test edin

-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


Bu emir,Yeni oluşturulan tablolar ve veriler silinmez

Yayınlandı 2.10.2021 16:58:15 |
Her gün çok çalış ve geliş
 Ev sahibi| Yayınlandı 19.10.2022 21:07:56 |
[Gerçek dövüş]. NET/C#, MySQL veritabanı yedeklemelerini MySqlBackup.NET
https://www.itsvse.com/thread-10375-1-1.html
Yayınlandı 15.11.2022 18:19:56 |
Öğren
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com