çoğaltma veritabanı ayarlama MySQL
Her zaman veri ilgili. Ne dayanmaktadır veri olmadan herhangi bir sistemin kullanımı nedir?
Bir veritabanı çoğaltma kurma bir sipariş verileri korumak için alınması gereken pek çok adım, herhangi bir kayıp önleme ve felaket kurtarma kolay yapıyor.
Neyse ki, bu MySQL ile kolaydır. O halde biz iki sunucu MySQL çalışan var varsayalım, bir ve diğer host2 bilgisayarlar1 çağırdı.
Çoğaltma ya ana-master ya da master-slave olabilir. bir master-slave çoğaltma ile, köle her zaman ana veritabanı çalıştırdığı çoğaltır. master-master çoğaltma, her iki veri tabanları birbirlerinin eşitleme.
senaryo incelendiginde bu, bir master-slave (burada bilgisayarlar1 ve host2 sırasıyla öğreticinin amacı) için.
Her şeyden önce, bilgisayarlar1 (genellikle linux üzerinde / etc / my.cnf at ve bulunan c mysql config dosyasını açın: pencerelerde \ windows \ my.ini) ve uncomment (in hash kaldırmak) aşağıdaki satırı:
# Skip-networking
İkincisi, siz) onu çalıştırmaya's sorguları ana (bilgisayarlar1) oturum açmalıdır (yazmak dosya belirtmeniz gerekir. Bu) bu sorguları okumak ve de onları idam köle (host2 sağlayacaktır. Böyle bir çizgi gibi eklemek gibi:
log-bin = / path / to / mysql-bin.log
Yukarıdaki değeri yol nereye MySQL giriş yapmam gerektiğini dosya adıdır. Sizin de çok iyi bir dizine oluşturabilir veya gibi mysql kurulum dizini (varsayılan kullanmak c: \ program windows ya da / / / linux üzerinde mysql lib var üzerinde mysql \ \ dosyaları)
Daha sonra, söz konusu veritabanının adını belirtmeniz gerekir. Yani bir MySQL veritabanı için 'denilen, daha sonra work_data' çoğaltma kurma iseniz, bu sizin MySQL yapılandırma eklemek için gereken satır:
binlog-do-db = work_data
Son olarak, bu ana sunucu olduğunu söylüyor bir sunucu id, belirtmek gerekir
sunucu = 1 id
config dosyasını ve çıkış kaydedin.
Şimdi host2 izin veri çoğaltılmasını vermeniz gerekir. Böyle bir MySQL sorgusu gereksinimi vardır yöneticisinde çıkarılacak.
Yani bilgisayarlar1 üzerinde MySQL istemine (mysql-u root-pyour_root_password için giriş) (veya PHPMyAdmin, vb ... ne kullanım) ve aşağıdaki açıklama sorunu:
Doğum hibe çoğaltma köle *.* 'için kullanıcı adı'@'%'' tarafından belirlenen şifre ';
seçeceğiniz bir kimlik ile kullanıcı adı ve şifre yerine emin olun. ama tek tırnak tutun.
% Işareti köle herhangi bir ana bilgisayardan bağlamak anlamına gelir. Eğer daha güvenli olması, yani değiştirmek istiyorsan host2 ile (köle's hostname).
Sonra tüm yukarıda, MySQL hizmetini yeniden başlatın (servis (linux yeniden mysqld) yapılır veya pencere üzerinde net stop mysql, net start mysql ()).
veritabanı veri önce, bunu dökümü emin olun ve köle üzerinde yük herhangi yukarıdaki yapmadan önce olsaydı. veri Damping kolaydır ve MySQL bin dizininde ve veren için cd'ing tarafından yapılabilir:
mysqldump-Q-u root-pyour_root_password databasename database_dump.sql>
(Doğru giriş ile), şifre ve veritabanı adını değiştirin. Tüm veri tabanı şimdi dosyasında database_dump.sql adı verilecek
host2 üzerinde mysql bin dizine cd ithal ve sorun için:
mysql-u root-pyour_root_password databasename </ yol / / / / database_dump.sql dosyaya
host2 üzerinde MySQL yapılandırma dosyası aşağıdaki satırları olmalı:
sunucu = 2 id
master-host = bilgisayarlar1
master-user = kullanıcı adınız
master-password = şifre
master-port = 3306
bilgisayarlar1 master hostname nerede / IP ve kullanıcı adı ve şifre ne zaman çoğaltma erişim verilmesi kullanılan kimlik bilgileri bir kaç adım yukarıda. üzerinde (ki varsayılan) çalışan 3306 port MySQL olduğunu
Sonra host2 üzerinde MySQL komut satırında veren tarafından köle işlemini başlatmak:
köle başlanması;
Emin çoğaltma yapmak için çalışıyor, bilgisayarlar1 üzerinde aşağıdaki SQL sorgusu sorunu:
göster köle durumu \ G
(Slave_SQL_Running ve rapor etmelidir Slave_IO_Running 'Evet')
İyi şanslar


