MySQL veritabanı çoğaltma ayarlama
Her zaman hakkında veri. Dayanmaktadır veri olmadan herhangi bir sistem kullanımı nedir?
Bir veritabanı çoğaltma ayarlama, herhangi bir kayıp önleme ve felaket kurtarma kolaylaştırır, verileri korumak için alınması gereken birçok adımları biridir.
Neyse ki, MySQL ile kolay. Yani biz MySQL kullanan iki sunucu var varsayalım, bir bilgisayarlar1 ve diğer konak2 olarak adlandırılır.
Çoğaltma, master-master ya da master-slave olabilir. Bir master-slave çoğaltma ile köle her zaman ana veritabanında yürütme ne çoğaltır. Master-master, çoğaltma, her iki veri tabanları birbiri ile senkronize edin.
Bu yazının amacı için, bir master-slave (burada bilgisayarlar1 ve sırasıyla konak2) senaryo incelenmiştir.
Her şeyden önce, konak1 mysql config dosyasını açın (genellikle linux üzerinde / etc / my.cnf bulundu ve c: \ windows \ my.ini pencereler) ve aşağıdaki satırı uncomment (karma kaldırmak):
# Skip-networking
(Konak1) ana giriş nereye İkincisi, (yazma) dosya belirtmek için sorguları da çalıştırılması gerekiyor. Bu, bu sorguları okumak ve aynı zamanda onları çalıştırmak için köle (konak2) sağlayacaktır. Gibi gibi bir satır ekleyin:
log-bin = / path / / mysql-bin.log
Yukarıdaki değeri MySQL günlüğü yapıyor olması gereken yerde dosya yolunu. Sen çok iyi ayrı bir dizin oluşturmak veya varsayılan mysql kurulum dizini (gibi c: \ Program Files \ mysql \ windows ya da / var / lib / mysql linux üzerinde) kullanabilirsiniz
Ardından, söz konusu veritabanı adını belirtmeniz gerekir. Yani, 'work_data' olarak adlandırılan MySQL veritabanlarının birini kurmak için çoğaltma iseniz, daha sonra bu hattı MySQL yapılandırma eklemek gerekir:
binlog-do-db = work_data
Son olarak, bir sunucu kimliği belirlemeniz gerekir, bu ana sunucu olduğunu söylüyor
server-id = 1
Config dosya ve çıkış kaydedin.
Şimdi konak2 verileri çoğaltmak için izin vermek gerekir. Gibi bir MySQL sorgusu ana çıkarılacak.
Yani, MySQL istemi (mysql-u root-pyour_root_password) (veya PHPMyAdmin, vb ... kullanmak ne olursa olsun) bilgisayarlar1 üzerinde giriş ve aşağıdaki ifadeyi verir:
hibe çoğaltma köle *.* parola 'tarafından belirlenen kullanıcı adınızı'@'%'';
Sizin seçtiğiniz bir kimlik ile kullanıcı adı ve şifre yerine emin olun. Tek tırnak rağmen devam etmeyin.
% Işareti köle herhangi bir ana bağlamak anlamına gelir. Daha güvenli olmasını istiyorsanız, konak2 (köle ana bilgisayar adı) ile değiştirin.
Yukarıdaki tüm yapıldıktan sonra, MySQL hizmeti (service mysqld restart (Linux) ya da net stop mysql, net start mysql (windows)) yeniden başlatın.
Veritabanı önce veri olsaydı, yukarıdakilerden herhangi birini yapmadan önce dökümü ve köle üzerine yük emin olun. Damping verileri kolay ve MySQL bin dizininde cd'ing ve düzenleyen tarafından yapılabilir:
mysqldump-Q-u root-pyour_root_password databasename> database_dump.sql
(Doğru giriş şifre ve veritabanı adını değiştirin). Tüm veri tabanı şimdi database_dump.sql adlı dosya olacak
Mysql bin dizini ve konuya konak2, cd almak için:
mysql-u root-pyour_root_password databasename / </ yol / / dosya / database_dump.sql
Konak2 MySQL config dosyasına aşağıdaki satırları olmalıdır:
server-id = 2
master-host = konak1
master-user = kullanıcı_adı
master-password = şifre
master-port = 3306
konak1. nerede ana IP / host adı, kullanıcı adı ve şifre çoğaltma erişim Yukarıdaki bir kaç adım verilmesi kullandığınız kimlik bilgileridir. 3306 port (varsayılan) üzerinde çalıştığı
Sonra MySQL isteminde düzenlenmek suretiyle konak2 köle işlemini başlatmak:
köle başlamak;
Emin çoğaltma çalışma yapmak için aşağıdaki SQL sorgusu, bilgisayarlar1 sorunu:
köle durumunu gösterir \ G
(Slave_SQL_Running ve Slave_IO_Running rapor 'Evet')
İyi şanslar

Harika, ne i needed. Şimdi ... sadece bir Slave Server çoğaltmak için birkaç Ana cihazları ayarlamak mümkün mü? Im, üstatlardan biri başarısız ise, Slave sunucu tarafından geçici olarak yerine olabilir hangi bir Active-Stanby topolojisi kurmak için çalışıyoruz, çünkü ben bunu soruyorum. Teşekkürler
Sevgili Robert,
Köle konak üzerinde çalışan birden fazla MySQL hizmetleri hakkında ne dersiniz? Her biri farklı bir bağlantı noktası üzerinde çalışan olacak ve farklı bir ana bağlı olacaktır.
Genius Thats! Ben rağmen bir arıza durumunda, sorunsuz bir geçiş yapmak için, kullanıcılar veritabanına bağlanır biçimini değiştirmek gerekecek.
Yerel bir DNS hizmeti, kurulum ve kullanıcıların hizmetine erişim için (master işaret normal durumlarda) bir hostname kullanmak yapabilir.
Başarısızlık durumunda, sadece köle makine işaret etmek için bu hostname DNS kaydını değiştirmek.
Hostname giderir IP değiştirmek Kullanıcılar değişiklik fark olmaz.
[...] Mümkün clients.Tips ve MySQL veritabanı replicationSo MySQL kullanan iki sunucu var varsayalım ayarlama hileci yeniden yapılandırmak gerek kalmadan küme düğümleri eklemek veya kaldırmak için yapar, bir bilgisayarlar1 ve diğer konak2 olarak adlandırılır. ... Eğer [...]