Güvenli bir şekilde nasıl kurabilirim
Her zaman zor olacak.
Bir şey yapmadan önce lütfen 5.5 / 5.6 uyumluluk sayfasını okuyun . Zihin 1 2 arasındaki büyük fark:
MySQL 5.6.6'dan başlayarak, birkaç MySQL Server parametresinin varsayılanları önceki sürümlerden farklıdır. Bu değişikliklerin amacı, daha iyi bir performans sunmak ve veritabanı yöneticisinin ayarları manuel olarak değiştirme ihtiyacını azaltmaktır. Bu değişiklikler, geri bildirim aldığımız için gelecekteki sürümlerde olası revizyonlara tabidir.
Büyük değişikliklerden biri 5.5'in işlem günlüğü olarak 1 büyük dosya ve 5.6'nın birkaç dosya kullanmasıdır:
Bu nedenle, varolan bir MySQL kurulumunu yükseltiyorsanız, bu parametrelerin değerlerini önceki varsayılanlarından daha önce değiştirmediyseniz ve geriye dönük uyumluluk endişe kaynağıysa, bu parametreleri açıkça önceki varsayılanlarına ayarlamak isteyebilirsiniz. Örneğin, bu satırları sunucu seçenek dosyasına koyun:
[mysqld]
innodb_file_per_table=0
innodb_checksum_algorithm=INNODB
binlog_checksum=NONE
Çoğaltma kullanıyorsanız, bağlantının bu bölümüne dikkat edin:
Çoğaltma için kullanılan sunucuları yükseltmek için önce slave'leri, ardından master'ı yükseltin. Master ve köleleri arasındaki çoğaltma, hepsinin aynı explicit_defaults_for_timestamp değerini kullanması koşuluyla çalışmalıdır:
Köleleri indirin, yükseltin, istenen explicit_defaults_for_timestamp değeriyle yapılandırın ve yeniden getirin.
Köleler, master'dan alınan ikili günlüklerin formatından master'ın daha eski olduğunu (explicit_defaults_for_timestamp'ın girişinden önce gelir) ve master'dan gelen TIMESTAMP sütunlarındaki işlemlerin eski TIMESTAMP davranışını kullandığını anlar.
Master'ı indirin, yükseltin ve slave'lerde kullanılan explicit_defaults_for_timestamp değeri ile yapılandırın ve yeniden getirin.
Bu bir üretim sunucusuysa, bunu öncelikle bir test makinesinde denemenizi tavsiye ederim. 5.5'ten 5.6'ya oldukça zor bir geçiş yaşadık ve 5.6 ile yüklenmiş başka bir makine kurmayı seçtik ve yedekler oluşturmak ve bunları o makinedeki veritabanlarımıza yüklemek için mysldump kullanıyoruz. Ancak, büyük bir veritabanınız varsa (innodb hareket dosyalarının yeniden oluşturulması nedeniyle) bunun uzun zaman alacağını unutmayın.
Genel bir yöntem:
- veritabanınızın (kullanıcılar, izlenebilir yapı ve tablo verileri) ve yapılandırma dosyanızın (muhtemelen /etc/mysql/my.cnf) yedeklerini oluşturmak için mysqldump kullanın
- 5.5'i kaldırın. 5.5'i kaldırdıktan sonra innodb hareket dosyalarının gittiğini kontrol edin (ibdata1, ib_logfile0 ve ib_logfile1). 5.6 işlemin daha iyi bir sürümünü kullandığından, bunu da kullanacağınızı varsayıyorum ...
- 5.6 yükle
- Yeni yapılandırma dosyasını değiştirin ve 5.5 için değiştirdiklerinizi ekleyin (yukarıdaki bağlantıyı unutmayın) ve değişikliklerden herhangi birinin geçersiz olup olmadığını kontrol edin).
- Yedeklemenizi 5.6'ya yükleyin (önce kullanıcılar). Yeni işlem dosyalarını yeniden oluşturacağından bunun biraz zaman alabileceğini unutmayın.
Komutlarda (yedeklemeyi yaptıktan sonra):
sudo apt-get remove mysql-server
sudo apt-get autoremove
sudo apt-get install mysql-client-5.6 mysql-client-core-5.6
sudo apt-get install mysql-server-5.6
sudo apt-get remove mysql-server;sudo apt-get autoremove;sudo apt-get install mysql-client-5.6 mysql-client-core-5.6;sudo apt-get install mysql-server-5.6