Veritabanı Bağlantıları
Kaynak, hedef ve replica bağlantılarını yapılandırın; her hesabın gerektirdiği yetkileri öğrenin.
GoArchive bir kaynak sunucuya, bir hedef sunucuya ve isteğe bağlı olarak bir replica’ya bağlanır.
Kaynak ve hedef
source:
host: source-db.internal
port: 3306
user: archiver
password: change_me
database: production
tls: preferred
max_connections: 10
max_idle_connections: 5
destination:
host: archive-db.internal
port: 3306
user: archiver
password: change_me
database: archive
tls: preferred
max_connections: 10
max_idle_connections: 5
| Ayar | Açıklama | Varsayılan |
|---|---|---|
host | Sunucu adı | zorunlu |
port | Sunucu portu | 3306 |
user | Hesap adı | zorunlu |
password | Hesap parolası | |
database | Veritabanı adı | zorunlu |
tls | disable, preferred, skip-verify veya required | preferred |
max_connections | Azami açık bağlantı | 10 |
max_idle_connections | Azami boşta bağlantı | 5 |
İzleme tabloları
GoArchive ilerleme kayıtlarını hedef sunucuda tutar. Varsayılan olarak bunlar
arşivlenen verinin yanında, destination.database içinde bulunur.
Ayrı tutmak için kendilerine ait bir şema tanımlayın:
destination:
database: archive
job_schema: goarchive
Şema ilk çalışmadan önce var olmalıdır; GoArchive tablolarını bu şemanın içinde oluşturur ama şemanın kendisini oluşturmaz.
Replica izleme
Replikasyon geride kaldığında GoArchive’in duraklaması için bir replica tanımlayın:
replica:
enabled: true
host: replica-db.internal
port: 3306
user: repl_user
password: change_me
replication_channel: ""
Varsayılan kanalı izlemek için replication_channel alanını boş bırakın, ya da
denetimi daraltmak için bir kanal adı verin. Eşikler
İşleme ve Güvenlik
sayfasında ayarlanır.
Yetkiler
| Sunucu | Yetkiler | Kullanım amacı |
|---|---|---|
| Kaynak | SELECT | Taşınacak satırların okunması |
| Kaynak | DELETE | Silinmeleri — yalnızca archive ve purge |
| Kaynak | SELECT ON *.* | İşin dışındaki hiçbir tablonun içindeki veriye referans vermediğinin teyidi |
| Hedef | SELECT, INSERT | Arşivlenen satırların yazılması |
| İzleme şeması | CREATE, SELECT, INSERT, UPDATE | İlerleme kayıtlarının tutulması |
| Replica | REPLICATION CLIENT | Replikasyon durumunun okunması |
-- kaynak
GRANT SELECT, DELETE ON production.* TO 'archiver'@'%';
GRANT SELECT ON *.* TO 'archiver'@'%';
-- hedef, izleme tabloları verinin yanındayken
GRANT SELECT, INSERT, CREATE, UPDATE ON archive.* TO 'archiver'@'%';
-- replica tanımlıysa
GRANT REPLICATION CLIENT ON *.* TO 'archiver'@'%';
Kopyalama iş akışı hiçbir şey silmediği için kaynakta DELETE yetkisine ihtiyaç
duymaz.
validate, hesabın çalışma için gerekenlere sahip olduğunu teyit eder ve eksik
olanları bildirir:
goarchive validate -c archiver.yaml
Kimlik bilgileri
Yapılandırma dosyası parola içerir. Erişimini buna göre kısıtlayın:
chmod 600 archiver.yaml
GoArchive kimlik bilgilerini ve bağlantı dizgilerini günlüklerine hiçbir zaman yazmaz.
