Thursday, December 16, 2010

Migrate Mysql 5.1.x slave to 5.5.8 slave

Evet stepnede tuttuğum slave makineyi, 5.1.x den 5.5.8 sürümüne güncelledim.

Kurulum sırasında gözlemlediğim detayları aktarıyım.

1. tar.gz  extract ettiğiniz ve mysql binarylerin duracağı yerdeki herşeyin sahipliğini mysql.mysql yapın (chown)

2. mysq.server shell script içinde 46-47'inci satırlarda birinde data diğerinde binary pathini verin.
basedir=/usr/local/mysql
datadir=/var/lib/mysql

gibi;.

3. my.cnf altında bende kabul edilmeyen 2 param var 1 'i içinde uyarı mevcut.

#log_long_format
#default-character-set=latin5

yerine değişenler 5.5.x ile
The --default-character-set and --default-collation server options (use
--character-set-server and --collation-server). 
uyarı slow query log ile ilgili;
#slow-query-log-file=/var/lib/mysql/mysqld-slow.log
yerine
log-slow-queries=/var/lib/mysql/mysqld-slow.log
kullanımına geçiyorlar.

4. herşey bitince startladım, mysql_upgrade ile gerekli upgrade'i yaptım.
upgrade sırasında, console client ile, hiç bir işlem yapmayın. Sonra sorunlar oluyor. Çok ilginç şekilde upgrade den sonra aşağıdaki gibi bir hata ile karşılaştım.

Error table x/y contains 10 indexes inside Innodb, which is different from the number of indexes 9 defined in mysql.

Bu sorunu tabloyu drop ederek, dumplayıp tekrar import ederek çözdüm fakat bu sefer 8-10 kayıtlık bir data tutarsızlığı oldu. Bende slave'i clone ladım ve tekrar denedim. 
Bu sefer client ile işlem yaparken güncellemedim ve sorunsuz şekilde. 5.5.8'e geçmiş oldum.


5.0/5.1 compare olarak bana daha stable geldi göreceğiz.

No comments:

Post a Comment