Server CE/Server Pro’nun her yeni sürümü, desteklenen MongoDB sürümündeki değişiklikleri sürüm notlarında belirtir.
MongoDB’yi güncellemeli miyim?
MongoDB sürümünüzü güncellemeyi yalnızca Server CE/Server Pro örneğinizi yükseltmeyi planlıyorsanız düşünmelisiniz. Mevcut (veya hedef) sürümünüz için önerilenden daha yeni bir MongoDB sürümü çalıştırıyorsanız herhangi bir değişiklik yapmanıza gerek yoktur. Mevcut MongoDB sürümünüzle ilgili olabileceğini düşündüğünüz belirli bir sorun yaşarsanız, Server CE kullanıcısıysanız çekinmeden bir sorun kaydı açın, Server Pro kullanıcısıysanız Overleaf Destek ile iletişime geçin.MongoDB sürümünüzü kontrol etme
mongo kabuğunu açmak, geçerli sürümü hemen yazdırmalıdır.
Overleaf Toolkit kullanıcıları:
Güncelleme süreci
Server CE/Server Pro örneğinizin yükseltilmesi sırasında MongoDB sürümünü güncelleme adımları şunlardır:- Yükseltmeyi planladığınız Server CE/Server Pro sürümüne karar verin.
- Söz konusu Overleaf Server CE/Server Pro sürümü tarafından önerilen MongoDB sürümünü bulun.
- MongoDB’yi hedef sürüme yükseltmek için talimatları izleyin.
- Server CE/Server Pro imaj sürümünü yükseltin ve örneği yeniden başlatın.
Server CE/Pro yükseltmesi yaparken, bir sonraki ana sürümün en son sürümüne yükseltmeden önce kurulu ana sürümün en son sürümüne yükseltmenizi öneririz. Kurulumunuz en son sürümün birden fazla ana sürüm gerisindeyse, çok adımlı bir yükseltme yapmanız gerekecektir.Örneğin 3.5.10 çalıştırıyorsanız, 3.5.13’e yükseltmeniz -> Tam Proje Geçmişi geçişini gerçekleştirmeniz -> 4.2.9 -> 5.5.4 yolunu izlemeniz gerekir.Ana sürümleri asla atlamamalısınız (3.5.10 -> 5.5.4). Toolkit kullanıyorsanız ve en son sürümün birden fazla ana sürüm gerisindeyseniz, manuel çok adımlı bir yükseltme yapmanız gerekeceğinden
bin/upgrade betiğini kullanmamalısınız.Sürüm desteği bilgileri
Daha eski bir sürüme geçmeye karar vermeniz durumunda, bu tablo Server CE/Server Pro’nun önceki sürümleri için önerilen MongoDB sürümünü gösterir; ancak MongoDB sürümünüzü asla düşürmemelisiniz.| Server CE/Server Pro | MongoDB Sürümü | Minimum Özellik Uyumluluk Sürümü | Node.js Sürücüsünün Desteklediği Maksimum Sürüm |
|---|---|---|---|
| 2.0.x | 3.4 | - | - |
| 2.1.x ile 2.4.x arası | 3.6 | - | - |
| >=2.5.0 | 4.0 | - | - |
| >=3.1.0 | 4.2 | - | - |
| >=3.2.0 | 4.4 | - | - |
| >=4.2.0 | 5.0 | - | - |
| >=5.1.0 | 6.0 | - | - |
| >=5.3.1 | 6.0 | 5.0 | 8.0 |
| >=5.5.0 | 6.0 | 6.0 | 8.0 |
| 6.0.0 | 8.0 | 8.0 | 8.0 |
Yukarıdaki minimum özellik uyumluluk sürümü, gösterilen Overleaf sürümüyle kullanılmak üzere önerilen ilgili MongoDB sürümüne dayanmaktadır. Daha yüksek bir sürüm kullanmayı planlıyorsanız MongoDB’nin kendi minimum gereksinimi olacaktır.
MongoDB’yi yükseltme
MongoDB adım adım yükseltme gerektirir. Bu, örneğin4.0’dan doğrudan 5.0’a geçemeyeceğiniz anlamına gelir. Önce 4.2’den 4.4’e, ardından 5.0’a güncellemeniz gerekir.
MongoDB, kararlı sürümleri için çift sayılar kullanır.
MongoDB’yi Docker dışında çalıştırırken güncelleme talimatları
MongoDB’yi yükseltirken mongodb.com’daki güncelleme talimatlarına ait bağlantılar aşağıdadır.- MongoDB sürüm notları - MongoDB’yi
4.2’den4.4’e yükseltme - MongoDB sürüm notları - MongoDB’yi
4.4’ten5.0’a yükseltme - MongoDB sürüm notları - MongoDB’yi
5.0’dan6.0’a yükseltme - MongoDB sürüm notları - MongoDB’yi
6.0’dan7.0’a yükseltme - MongoDB sürüm notları - MongoDB’yi
7.0’dan8.0’a yükseltme
5.0 ve üzeri sürümlere ilişkin talimatlar, bağımsız (standalone) kurulum yerine replika kümesi (replica set) kurulumuna işaret eder. Server Pro/CE 4.0.1+ işlemleri (transaction) kullandığından MongoDB’nin bir replika kümesi olarak çalıştırılması gerekir.- Uyumluluk bayrağını MongoDB sürüm notlarında açıklandığı şekilde ayarlayın (aşağıdaki örneklere bakın).
- Ardından mongo imajını güncelleyin:
- Toolkit kullanıcıları
MONGO_VERSIONdeğerini güncelleyin, ör.MONGO_VERSION=6.0 - Docker Compose kullanıcıları
mongoimaj etiketinin sürümünü güncelleyin,
ör.services -> mongo -> image: mongo:6.0;
- Toolkit kullanıcıları
5.0’dan 6.0’a yükseltme
MongoDB 6.0 çalıştırdığımızdan emin olarak başlayalım:
Overleaf Toolkit kullanıcıları:
featureCompatibilityVersion değerinin 5.0 olarak ayarlanmasıdır. Bunu bir MongoDB kabuğu açıp belirtilen komutu çalıştırarak yaparız:
Overleaf Toolkit kullanıcıları:
Docker Compose kullanıcıları bir kabuk açmak için
docker compose exec mongo mongosh komutunu çalıştırabilir ve Toolkit kullanıcılarıyla aynı komutları çalıştırabilir.bin/stop komutunu kullanarak Server CE/Server Pro ve MongoDB örneklerini durduracak, config/overleaf.rc içinde MONGO_VERSION=6.0 ayarlayacak ve güncellemenin sorunsuz gerçekleştiğini doğrulamak için bin/up mongo kullanarak mongo hizmetini yeniden başlatacağız.
Son olarak Server CE/Server Pro imaj sürümünü hedef sürümümüze güncelleyecek ve bin/up -d komutunu kullanarak tüm hizmetleri yeniden oluşturacağız.
Docker Compose kullanıcıları:
Ardından docker compose stop komutunu kullanarak Server CE/Server Pro ve MongoDB örneklerini durduracak, docker-compose.yml dosyasını image: mongo:6.0 kullanacak şekilde güncelleyecek ve güncellemenin sorunsuz gerçekleştiğini doğrulamak için docker compose up mongo komutunu kullanarak mongo hizmetini yeniden başlatacağız.
Son olarak Server CE/Server Pro imaj sürümünü hedef sürümümüze güncelleyecek ve docker compose up komutunu kullanarak tüm hizmetleri yeniden oluşturacağız.
Yukarıdaki mongod --version komutlarını kullanarak MongoDB 6.0 çalıştırdığınızdan emin olarak başlayın.
Yükseltme talimatlarına göre tek gereksinim featureCompatibilityVersion değerinin 6.0 olarak ayarlanmasıdır. Bunu bir MongoDB kabuğu açıp db.adminCommand({ setFeatureCompatibilityVersion: "6.0" }) komutunu çalıştırarak yaparız.
Overleaf Toolkit kullanıcıları:
bin/stop komutunu kullanarak Server CE/Server Pro ve MongoDB örneklerini durduracak, config/overleaf.rc içinde MONGO_VERSION=7.0 ayarlayacak ve güncellemenin sorunsuz gerçekleştiğini doğrulamak için bin/up mongo kullanarak mongo hizmetini yeniden başlatacağız.
Son olarak Server CE/Server Pro imaj sürümünü hedef sürümümüze güncelleyecek ve bin/up -d komutunu kullanarak tüm hizmetleri yeniden oluşturacağız.
Yukarıdaki mongod --version komutlarını kullanarak MongoDB 7.0 çalıştırdığınızdan emin olarak başlayın.
Yükseltme talimatlarına göre tek gereksinim featureCompatibilityVersion değerinin 7.0 olarak ayarlanmasıdır. Bunu bir MongoDB kabuğu açıp db.adminCommand({ setFeatureCompatibilityVersion: "7.0", confirm: true }) komutunu çalıştırarak yaparız. Bunun artık ek bir confirm: true parametresi gerektirdiğini unutmayın.
bin/stop komutunu kullanarak Server CE/Server Pro ve MongoDB örneklerini durduracak, config/overleaf.rc içinde MONGO_VERSION=8.0 ayarlayacak ve güncellemenin sorunsuz gerçekleştiğini doğrulamak için bin/up mongo kullanarak mongo hizmetini yeniden başlatacağız.
Son olarak Server CE/Server Pro imaj sürümünü hedef sürümümüze güncelleyecek ve bin/up -d komutunu kullanarak tüm hizmetleri yeniden oluşturacağız.
Docker compose kullanıcıları için eşdeğer komutlar
Docker compose kullanıcıları için eşdeğer komutlar şunlardır:- mongo sürümünü görüntülemek için
docker compose exec mongo mongod --version - yönetici komutları için bir mongo kabuğu başlatmak üzere
docker compose exec mongo mongosh - sunucuyu durdurmak için
docker compose stopkomutu - mongo sürümünü yükseltmek için
docker-compose.ymldosyasınıimage: mongo:6.0kullanacak şekilde düzenleyin - mongo hizmetini yeniden başlatmak ve güncellemenin sorunsuz gerçekleştiğini doğrulamak için
docker compose up mongo - imaj sürümünü yükseltmek için
docker-compose.ymldosyasınıimage: sharelatex:VERSIONkullanacak şekilde düzenleyin - tüm hizmetleri yeniden oluşturmak için
docker compose up.
Özel bir rol oluşturma
5.5.1 sürümünde, MongoDB’nin özellik uyumluluk sürümünü doğrulamak için bir başlangıç kontrolü ekledik. MongoDB veritabanınız kimlik doğrulama (ör. temel kimlik doğrulama) kullanıyorsa, sharelatex konteyneri “not authorized on admin to execute command” izin hatası göstererek başlamayabilir.
Bunu çözmek için ya aşağıdaki talimatları kullanarak MongoDB’de yeni bir rol oluşturup bunu veritabanına erişmek için kullanılan kullanıcı hesabına atayabilir ya da kontrolün kurulumun başlamasını engellemeden başarısız olmasına izin vermek için ALLOW_MONGO_ADMIN_CHECK_FAILURES=true ayarlayabilirsiniz.
Bu yeni rol yalnızca küme genelindeki MongoDB sunucu parametrelerini okuma izni verir ve izleme amacıyla yeniden kullanılabilir,

