Jokainen Server CE:n/Server Pron uusi julkaisu ilmoittaa julkaisutiedoissaan kaikista muutoksista tuettuun MongoDB-versioon.
Pitäisikö minun päivittää MongoDB?
MongoDB-version päivittämistä kannattaa harkita vain, jos aiot päivittää Server CE- tai Server Pro -instanssisi. Jos käyttämäsi MongoDB-versio on uudempi kuin nykyiselle (tai tavoitteena olevalle) versiollesi suositeltu, muutoksia ei tarvita. Jos kohtaat tietyn ongelman, jonka arvelet liittyvän nykyiseen MongoDB-versioosi, voit avata issuen, jos olet Server CE -käyttäjä, tai ottaa yhteyttä Overleafin tukeen, jos olet Server Pro -käyttäjä.MongoDB-version tarkistaminen
mongo-komentotulkin avaaminen tulostaa heti nykyisen version.
Overleaf Toolkitin käyttäjät:
Päivitysprosessi
MongoDB-version päivittäminen Server CE- tai Server Pro -instanssin päivityksen yhteydessä tapahtuu seuraavasti:- Päätä, mihin Server CE:n/Server Pron versioon aiot päivittää.
- Selvitä, mitä MongoDB-versiota kyseinen Overleaf Server CE:n/Server Pron julkaisu suosittelee.
- Päivitä MongoDB tavoiteversioon ohjeiden mukaisesti.
- Päivitä Server CE:n/Server Pron imagen versio ja käynnistä instanssi uudelleen.
Server CE:tä/Prota päivitettäessä suosittelemme päivittämään käytössä olevan pääversion uusimpaan julkaisuun ennen päivittämistä seuraavan pääversion uusimpaan julkaisuun. Jos käyttöönottosi on yli yhden pääversion jäljessä uusimmasta, sinun on tehtävä päivitys useassa vaiheessa.Jos käytössäsi on esimerkiksi 3.5.10, sinun on päivitettävä versioon 3.5.13 -> suoritettava koko projektihistorian siirto -> 4.2.9 -> 5.5.4.Pääversioita ei pidä koskaan ohittaa (3.5.10 -> 5.5.4). Jos käytät Toolkitia ja olet yli yhden pääversion jäljessä uusimmasta, et saa käyttää
bin/upgrade-skriptiä, koska sinun on tehtävä manuaalinen monivaiheinen päivitys.Versioiden tukitiedot
Jos päätät siirtyä aiempaan versioon, tämä taulukko näyttää Server CE:n/Server Pron aiemmille julkaisuille suositellun MongoDB-version, mutta MongoDB-versiota ei pidä koskaan alentaa.| Server CE/Server Pro | MongoDB-versio | Ominaisuuksien yhteensopivuusversio vähintään | Node.js-ajurin tukema enimmäisversio |
|---|---|---|---|
| 2.0.x | 3.4 | - | - |
| 2.1.x–2.4.x | 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 |
Yllä mainittu ominaisuuksien yhteensopivuusversion vähimmäisarvo perustuu vastaavaan MongoDB-versioon, jota suositellaan käytettäväksi kyseisen Overleaf-version kanssa. Jos aiot käyttää uudempaa versiota, MongoDB:llä on omat vähimmäisvaatimuksensa.
MongoDB:n päivittäminen
MongoDB edellyttää vaiheittaisia päivityksiä. Tämä tarkoittaa, että et voi siirtyä suoraan esimerkiksi versiosta4.0 versioon 5.0. Sinun on ensin päivitettävä 4.2:sta 4.4:ään ja sitten 5.0:aan.
MongoDB käyttää vakaissa versioissaan parillisia numeroita.
Päivitysohjeet, kun MongoDB:tä ajetaan Dockerin ulkopuolella
Tässä ovat linkit mongodb.comin päivitysohjeisiin MongoDB:tä päivitettäessä.- MongoDB:n julkaisutiedot – MongoDB:n päivittäminen versiosta
4.2versioon4.4 - MongoDB:n julkaisutiedot – MongoDB:n päivittäminen versiosta
4.4versioon5.0 - MongoDB:n julkaisutiedot – MongoDB:n päivittäminen versiosta
5.0versioon6.0 - MongoDB:n julkaisutiedot – MongoDB:n päivittäminen versiosta
6.0versioon7.0 - MongoDB:n julkaisutiedot – MongoDB:n päivittäminen versiosta
7.0versioon8.0
Versioiden
5.0 ja uudempien ohjeet koskevat replikajoukkoasennusta (replica set) erillisasennuksen sijaan. Koska Server Pro/CE 4.0.1+ käyttää transaktioita, MongoDB:tä on ajettava replikajoukkona.- Aseta yhteensopivuuslippu MongoDB:n julkaisutiedoissa kuvatulla tavalla (katso alla olevat esimerkit).
- Päivitä sitten mongo-image:
- Toolkitin käyttäjät Päivitä
MONGO_VERSION, esim.MONGO_VERSION=6.0 - Docker Composen käyttäjät Päivitä
mongo-imagen tunnisteen (tag) versio,
esim.services -> mongo -> image: mongo:6.0;
- Toolkitin käyttäjät Päivitä
5.0 versioon 6.0
Aloitetaan varmistamalla, että käytössä on MongoDB 6.0:
Overleaf Toolkitin käyttäjät:
featureCompatibilityVersion on asetettu arvoon 5.0. Teemme sen avaamalla MongoDB-komentotulkin ja suorittamalla ohjeissa mainitun komennon:
Overleaf Toolkitin käyttäjät:
Docker Composen käyttäjät voivat avata komentotulkin komennolla
docker compose exec mongo mongosh ja suorittaa samat komennot kuin Toolkitin käyttäjät.bin/stop, asetamme tiedostoon config/overleaf.rc arvon MONGO_VERSION=6.0 ja käynnistämme sitten mongo-palvelun uudelleen komennolla bin/up mongo) varmistaaksemme, että päivitys sujui ongelmitta.
Lopuksi päivitämme Server CE:n/Server Pron imagen version tavoiteversioomme ja luomme kaikki palvelut uudelleen komennolla bin/up -d.
Docker Composen käyttäjät:
Pysäytämme sitten Server CE:n/Server Pron ja MongoDB:n instanssit komennolla docker compose stop, päivitämme docker-compose.yml-tiedoston käyttämään arvoa image: mongo:6.0 ja käynnistämme sitten mongo-palvelun uudelleen komennolla docker compose up mongo varmistaaksemme, että päivitys sujui ongelmitta.
Lopuksi päivitämme Server CE:n/Server Pron imagen version tavoiteversioomme ja luomme kaikki palvelut uudelleen komennolla docker compose up.
Aloita varmistamalla yllä olevilla mongod --version -komennoilla, että käytössä on MongoDB 6.0.
Päivitysohjeiden mukaan ainoa vaatimus on, että featureCompatibilityVersion on asetettu arvoon 6.0. Teemme sen avaamalla MongoDB-komentotulkin ja suorittamalla komennon db.adminCommand({ setFeatureCompatibilityVersion: "6.0" }) .
Overleaf Toolkitin käyttäjät:
bin/stop, asetamme tiedostoon config/overleaf.rc arvon MONGO_VERSION=7.0 ja käynnistämme sitten mongo-palvelun uudelleen komennolla bin/up mongo) varmistaaksemme, että päivitys sujui ongelmitta.
Lopuksi päivitämme Server CE:n/Server Pron imagen version tavoiteversioomme ja luomme kaikki palvelut uudelleen komennolla bin/up -d.
Aloita varmistamalla yllä olevilla mongod --version -komennoilla, että käytössä on MongoDB 7.0.
Päivitysohjeiden mukaan ainoa vaatimus on, että featureCompatibilityVersion on asetettu arvoon 7.0. Teemme sen avaamalla MongoDB-komentotulkin ja suorittamalla komennon db.adminCommand({ setFeatureCompatibilityVersion: "7.0", confirm: true }). Huomaa, että tämä vaatii nyt lisäparametrin confirm: true.
bin/stop, asetamme tiedostoon config/overleaf.rc arvon MONGO_VERSION=8.0 ja käynnistämme sitten mongo-palvelun uudelleen komennolla bin/up mongo) varmistaaksemme, että päivitys sujui ongelmitta.
Lopuksi päivitämme Server CE:n/Server Pron imagen version tavoiteversioomme ja luomme kaikki palvelut uudelleen komennolla bin/up -d.
Vastaavat komennot Docker Composen käyttäjille
Docker Composen käyttäjille vastaavat komennot ovat:docker compose exec mongo mongod --versionnäyttää mongo-versiondocker compose exec mongo mongoshkäynnistää mongo-komentotulkin ylläpitokomentoja vartendocker compose stop-komento pysäyttää palvelimen- Muokkaa
docker-compose.yml-tiedostoa käyttämään arvoaimage: mongo:6.0päivittääksesi mongo-version docker compose up mongokäynnistää mongo-palvelun uudelleen ja varmistaa, että päivitys sujui ongelmitta- Muokkaa
docker-compose.yml-tiedostoa käyttämään arvoaimage: sharelatex:VERSIONpäivittääksesi imagen version docker compose upluo kaikki palvelut uudelleen.
Mukautetun roolin luominen
Versiossa5.5.1 otimme käyttöön käynnistyksenaikaisen tarkistuksen, joka varmistaa MongoDB:n ominaisuuksien yhteensopivuusversion. Jos MongoDB-tietokantasi käyttää todennusta (esim. perustodennusta), sharelatex-kontti ei ehkä käynnisty, vaan näyttää käyttöoikeusvirheen “not authorized on admin to execute command”.
Voit ratkaista tämän joko luomalla MongoDB:hen uuden roolin ja määrittämällä sen tietokannan käyttämiseen käytettävälle käyttäjätilille alla olevien ohjeiden mukaisesti, tai asettamalla ALLOW_MONGO_ADMIN_CHECK_FAILURES=true, jolloin tarkistus saa epäonnistua estämättä käyttöönoton käynnistymistä.
Tämä uusi rooli myöntää ainoastaan oikeuden lukea koko klusterin laajuisia MongoDB-palvelimen parametreja, ja sitä voidaan käyttää uudelleen myös valvontatarkoituksiin,

