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

5 Yorum

Robert 17 Eylül 2008 10:49

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

admin Bugün 11:25 17 Eylül 2008

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.

Robert 23 Eylül 2008 13:44

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.

admin 04:58 23 Eylül 2008

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.

konak2 08:02 1 Nisan 2010

[...] 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 [...]

Leave a comment

Yorumunuz