Bitrix dhe përditësimi i MariaDB në versionin më të fundit stabil

Përshëndetje të gjithëve, të nderuar Habrëvë! Lejoni të prezantohem, Aleksandër. Administratori sistemit i një studioje WEB të vogël, por krenare. Ne dëshirojmë shumë që gjithçka të funksionojë shpejt, në mënyrë të sigurt dhe me softin e fundit. Për këtë kemi ngritur një kombinim nagios+PhantomJS në kompjuterin tonë të brendshëm dhe çdo 30 minuta kontrollojmë shpejtësinë e ngarkesës së faqeve. Sipas kushteve të mirëmbajtjes, gjithashtu ndjekim përditësimet e 1C-Bitrix dhe i instalojmë ato rregullisht. Dhe një herë pas një përditësimi tjetër, shohim një mesazh në admin që nga verao 2019 1C-Bitrix nuk do të funksionojë më me MySQL 5.5 dhe duhet të përditësohemi. Djemtë nga ISPSystem janë të mrekullueshëm dhe rregullisht zgjasin funksionalitetin e panelit, për të cilin një falënderim të veçantë. Por këtë herë nuk ia dolëm të klikonim gjithçka me miun. Për atë që arritëm dhe sa të bardha flokët tani në mjekërën time, mund të mësoni më poshtë.

I vetmi opsion ishte të instalonim "serverin alternativ të DB" i cili instalohet në një kontejner Docker. Natyrisht, e kuptoj që Docker është shumë i kursyer me burimet, por sa i shkëlqyer që të jetë, akoma do të ketë overhead >0. Dhe këtu ne jemi si për të përmirësuar përqindjet e sekondave dhe optimizojmë të gjitha faqet para se t'i publikojmë dhe të nënshkruajmë kontratën. Pra, nuk është opsioni im.
Ok, çfarë shkruhet në dokumentacion? Backup i gjithçkaje, shtoni në dosjen yum.repos.d skedarin me lidhjen e depozitës së MariaDB, më pas

rpm -e --nodeps MariaDB-server MariaDB-client MariaDB-common

Yum mĂ« pas do tĂ« ankohet qĂ« dikush ka fshirĂ« ose instaluar pakot pa lejen e tij. Por, sĂ« pari — le tĂ« ankohen, nuk Ă«shtĂ« ndonjĂ« gjĂ« e keqe. Dhe sĂ« dyti, nĂ«se bĂ«ni fshirjen pĂ«rmes yum, ai pĂ«rpiqet qĂ« tĂ« heqĂ« pĂ«rveç MariaDB tĂ« gjitha ato qĂ« kanĂ« tĂ« bĂ«jnĂ« me varĂ«sitĂ«, dhe kjo Ă«shtĂ« edhe PHP dhe ISPManager dhe PHPmyadmin. Prandaj, mĂ« vonĂ« do tĂ« merremi me ankesat.


yum clean all
yum update
yum install MariaDB-server MariaDB-client MariaDB-common

NĂ« pĂ«rgjithĂ«si, gjithçka u instalua dhe nisi. E bukur Ă«shtĂ« se bazat e tĂ« dhĂ«nave u morĂ«n dhe nuk kishte nevojĂ« t'i rikthenim ato nga dump. Kontrollova faqet — funksionojnĂ« dhe shpejt. Hyra nĂ« disa admin pĂ«r tĂ« siguruar qĂ« asgjĂ« nuk ishte ndalur dhe informova drejtorin se gjithçka Ă«shtĂ« OK. Nuk kaloi as 30 minuta dhe u zbulua se nuk ishte ashtu


Kur u përpoqa të hyjë në admin dhe të shtoj/redaktoj diçka në përmbajtje shfaqej një mesazh

Gabimi në Kërkesën MySQL: FSHIJ "INSERT INTO b_iblock_element_property (ID, IBLOCK_ELEMENT_ID, IBLOCK_PROPERTY_ID, VAL UE, VALUE_NUM) SELECT 10555, 2201, P.ID, '3607', 3607.0000 FR OM b_iblock_property P WHERE ID = 184 [[1062] Hyrje të dyfishta '10555' për çelësin 'PRIMARY']

Pasi përmbajtja në site shtohet nga punonjëset tona, klientët ende nuk dinin asgjë dhe për momentin nuk kishin filluar të na kërcënonin. Por kjo ishte një çështje kohe sepse informacioni në faqet web duhet të përditësohet dhe shumë klientë e ndjekin këtë me kujdes.

Nga teksti i gabimit mund tĂ« kuptohet se Bitrix po pĂ«rpiqet tĂ« shtojĂ« njĂ« regjistrim tĂ« ri nĂ« bazĂ« duke treguar tĂ« njĂ«jtin çelĂ«s primar, qĂ« kishte artikulli i redaktuar. Pra, ka arsye pĂ«r tĂ« dyshuar se problemi ndodhi nga ana e Bitrix. Shkoi nĂ« faqen e tyre dhe i drejtohemi mbĂ«shtetjes. Pothuajse menjĂ«herĂ« morĂ«m pĂ«rgjigjen “problemi Ă«shtĂ« i komplikuar. E kemi kaluar te inxhinierĂ«t e lartĂ« — prisni
”

PĂ«r tĂ« pritur u desh njĂ« kohĂ« tĂ« gjatĂ« (i gjithĂ« dialogu ndodhi nĂ« periudhĂ«n nga 25.06.2019 deri mĂ« 9.07.2019) dhe pĂ«rfundimi ishte mesazhi “ky problem nuk Ă«shtĂ« i lidhur me funksionimin e CMS Bitrix, por Ă«shtĂ« i lidhur me vetĂ« bazĂ«n e tĂ« dhĂ«nave nĂ« mariadb 10.4.6 dhe fatkeqĂ«sisht nga ana e sitit nuk ka mundĂ«si pĂ«r tĂ« zgjidhur kĂ«tĂ« problem. Do tĂ« nevojitet tĂ« kaloni nĂ« njĂ« version mĂ« tĂ« vjetĂ«r tĂ« MariaDB.”

E lamë  Mendoja pĂ«r downgrade qĂ« nĂ« fillim tĂ« historisĂ«, por kĂ«tu thuhet qartĂ«, qĂ« nuk mund tĂ« ketĂ« ndonjĂ« downgrade. Merre dump-in dhe rinisni nga njĂ« instalim i pastĂ«r server. Pra, Ă«shtĂ« mirĂ« qĂ« nuk i pĂ«rditĂ«sova tĂ« gjithĂ« serverat njĂ«kohĂ«sisht. Pra, “vetĂ«m” njĂ«qind faqe (qeshje nervoze:-)). Po ashtu nĂ« mbĂ«shtetje thanĂ«: “PĂ«r tĂ« zgjidhur problemin gjatĂ« pĂ«rdorimit tĂ« bazĂ«s MariaDB 10.4.6, ju nevojitet tĂ« kontaktoni mbĂ«shtetje teknike MariaDB, pasi nĂ« transaksion nuk do tĂ« pĂ«rfundojĂ« fshirja e regjistrit nga Baza e tĂ« DhĂ«nave, nĂ«se bĂ«het kĂ«rkesa:

$DB->Query("DELETE FROM " . $strTable . " WHERE ID = " . $res["ID"]);
$results = $DB->Query("SELECT * FROM " . $strTable . " WHERE ID = " . $res["ID"]);

Shpresa zgjati disa orĂ« nga fillimi i bisedĂ«s me mbĂ«shtetje MariaDB, por mĂ« vonĂ« erdhi njĂ« email nĂ« tĂ« cilin mĂ« njoftuan shumĂ« korrekte se unĂ« nuk isha njĂ« pĂ«rdorues komercial dhe prandaj askush nuk do tĂ« merrej me zgjidhjen e problemit tim, por ka njĂ« forum nĂ« faqen e tyre dhe aty mund tĂ« provoni tĂ« kĂ«rkoni mundĂ«si
 Nuk do t’i bezdis me detaje. Aty nuk kishte mundĂ«si.
O! Ne kemi një licencë të blerë për ISP!
— Alo, mbĂ«shtetje? Djem, ndihmoni!
— MĂ« vjen keq, ne nuk mbĂ«shtesim tĂ« ftohurit qĂ« ndryshojnĂ« versionet native tĂ« DBMS. NĂ«se dĂ«shironi — ka njĂ« opsion me njĂ« server alternativ nĂ« Docker.
— Por si do tĂ« hyjnĂ« pĂ«rdoruesit dhe bazat? NĂ« Docker?
— Eh, do t'i çoni atje me duar...
— Po! Dhe mos harroni qĂ« porti pĂ«r mysql do tĂ« ndryshojĂ« dhe do tĂ« duhet tĂ« kaloni nĂ«pĂ«r tĂ« gjitha konfigurimet dhe tĂ« shkruani pĂ«rsĂ«ri.
— Ok, faleminderit, do tĂ« mendoj...
Mendova dhe vendosa ta heq manualisht 10.4 dhe të instaloj 10.2 me të cilin nuk kishte probleme në serverët e tjerë.

Procesi nuk ndryshoi ndjeshĂ«m nga procesi i pĂ«rditĂ«simit. Duhej vetĂ«m tĂ« ndryshoja nĂ« lidhjen e depozitĂ«s 10.4 nĂ« 10.2, tĂ« rikuperoja dhe tĂ« krijoja pĂ«rsĂ«ri cache pĂ«r yum. Dhe njĂ« “detaj i vogĂ«l”: pas heqjes sĂ« 10.4, shkojmĂ« nĂ« /var/lib/mysql dhe fshijmĂ« gjithçka aty. Pa kĂ«tĂ« hap, pas instalimit tĂ« 10.2, shĂ«rbimi do tĂ« vazhdojĂ« tĂ« bjerĂ« dhe do tĂ« shihni

Nuk arriti të lidhesh me bazën e të dhënave '' Humbur lidhja me serverin MySQL në 'leximin e paketës fillore të komunikimit', gabim në sistem: 104 "Lidhja u rivendos nga palë"

Ose

Humbur lidhja me serverin MySQL në 'ndërlidhje: leximi i paketës fillore të komunikimit', gabim në sistem: 104

Para se të importoj bazat, unë fillimisht instalova atë fjalëkalim root për mysql që ishte regjistruar në konfigurimet ISP dhe importova dump-in e bazës mysql. Më pas, pasi që përdoruesit dhe të drejtat ishin tashmë aty, thjesht me llogarinë root importojmë radhazi të gjitha bazat e përdoruesve.

Teksti i skriptit për dump-in e bazave:

#!/bin/bash
echo 'show databases' | mysql -u root --password="ĐŸĐ°Đ ĐŸĐ›ŃŒ_РУйА" --skip-column-names | grep -v information_schema | xargs -I {} -t bash -c 'mysqldump -u root --password="ĐŸĐ°Đ ĐŸĐ›ŃŒ_РУйА" {} | gzip > /BACK/back-$(hostname)-{}-$(date +%Y-%m-%d-%H.%M.%S).sql.gz'

Para importit të bazave, duhet t'i nxjerrim jashtë. Prandaj thjesht ekzekutojmë komandën

gunzip /BACK/*.gz

Dhe e fundit: për ndonjë arsye, në emrat e bazave (nëse i krijoni përmes ISPmanager) lejohet përdorimi i defishtë. Por kur krijoni ose përpiqeni të ngarkoni dump-in në një bazë që ka defishtë në emër, ju merrni një mesazh që sintaksa e kërkesës është e gabuar.

TĂ« gjithĂ« atyre qĂ« arritĂ«n deri nĂ« fund, çdo tĂ« mirĂ«. MĂ« falni pĂ«r ndoshta tĂ« pavendosurat pikĂ«t — kam probleme me to. NĂ«se ka dĂ«shira ose propozime mbi atĂ« qĂ« Ă«shtĂ« pĂ«rshkruar — shkruani nĂ« mesazhe sepse nĂ« komente kam frikĂ« se do tĂ« humbas diçka. Dhe mos mĂ« kritikonit shumĂ« — kjo Ă«shtĂ« artikulli im i parĂ« 🙂

UPD1:

Për pak nuk harrova të përmend: ndërkohë që po përpiqesha të gjeja një zgjidhje për problemin pa bërë downgrade në MariaDB, duhej të azhurnoja informacionin. U azhurnua në këtë mënyrë: e gjithë baza konvertohet nga InnoDB në MyISAM, azhurnohet informacioni dhe pastaj konvertohet përsëri në InnoDB.
UPD2:

Pikërisht tani erdhi një letër nga 1C-Bitrix me përmbajtjen e mëposhtme:

Aplikohet një kërkesë për përmirësim
«Pas pas update MariaDB në 10.4.6, ndodhi një gabim gjatë ruajtjes së elementit të informacionit»
Moduli: iblock, versioni: i panjohur
Zgjidhja: e refuzuar

Pra, duket se nuk mund tĂ« kalojmĂ« nĂ« 10.4 pĂ«r momentin 🙁

Burimi: habr.com

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster