Bitrix eta MariaDB azken bertsio egonkorra eguneratzen

Egun on, Khabrovites maiteak! Utzidazu neure burua aurkezten, Alexander. WEB estudio txiki baina harro baten sistema administratzailea. Benetan dena azkar, seguru eta software berriarekin funtzionatzea nahi dugu. Horretarako, nagios + PhantomJS sorta ere igo dugu bulego barruko ordenagailuan eta orria kargatzeko abiadura egiaztatu dugu 30 minuturo. Zerbitzu-baldintzen arabera, 1C-Bitrix eguneraketak ere kontrolatzen ditugu eta aldian-aldian instalatzen ditugu. Eta gero, egun batean, hurrengo eguneraketaren ostean, mezu bat ikusiko dugu administrazio panelean esaten duena 2019ko udaz geroztik, 1C-Bitrix-ek MySQL 5.5-ekin lan egiteari uzten diola eta eguneratu egin behar dela. ISPSystem-eko mutilak ederrak dira eta panelaren funtzionaltasuna aldian-aldian zabaltzen dute, horregatik eskerrak eman bereziak. Baina oraingoan ezin izan da saguarekin dena sakatu. Baina zer gertatu zen eta zenbat ile gris dauden orain bizarran aurki daiteke mozketaren azpian.

Docker edukiontzian instalatuta dagoen "DBMS zerbitzari alternatibo" bat instalatzeko aukera bakarra zegoen. Jakina, ulertzen dut Docker-ek baliabideekin oso xumea dela, baina funtzionatzen badu ere, gainkostua > 0 izango da. Eta hemen gaude, nolabait, segundo hamarrenetan borrokan eta sarrerako gune guztiak optimizatzen hitzarmena argitaratu eta sinatu aurretik. Beraz, ez da nire aukera.
Ados, zer dago dokumentazioan? Egin guztiaren babeskopia, gehitu MariaDB biltegirako esteka duen fitxategi bat yum.repos.d-era, eta gero

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

Yum-ek gero zin egingo du norbaitek paketeak kendu zituela jakin gabe. Baina lehenik eta behin - zin egin dezala, ondo dago. Eta bigarrenik, ezabaketa yum bidez egiten baduzu, MariaDBrekin batera, mendekotasunen bidez erlazionatuta dagoen guztia eraisten saiatzen da, eta hau PHP eta ISPManager eta PHPmyadmin da. Beraz, akatsei aurre egingo diegu.


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

Oro har, dena ezarri eta hasi zen. Gauza polita da oinarriak jaso zirela eta ez zela beharrezkoa izan zabortegietatik berreskuratzea. Guneak egiaztatu ditut - funtzionatzen dute eta azkar. Admin panel pare batera joan nintzen ezer erori ez zela ziurtatzeko eta dena ondo zegoela zuzendariari harpidetza kendu nion. 30 minutu baino gutxiagoan, ez zegoela batere ondo ikusi zen ...

Administrazio panelera joan eta edukian ezer editatzen saiatu nintzenean, mezu bat erori zen

MySQL Query Error: 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] Duplicate entry '10555' for key 'PRIMARY']

Gunearen edukia gure langileek gehitzen dutenez, bezeroek oraindik ez zekiten ezer eta oraindik ez ziren gu banatzen hasi. Baina denbora kontua zen, guneetako informazioa eguneratu behar delako, eta bezero askok hori oso gertutik jarraitzen dute.

Errorearen testutik ondorioztatu dezakegu Bitrix datu-basean erregistro berri bat gehitzen saiatzen ari dela, editatzen ari den artikuluak zuen lehen gako bera zehaztuz. Beraz, arazoa Bitrix-en aldean gertatzen dela susmatzeko arrazoia dago. Joan haien webgunera eta jarri harremanetan laguntzarekin. Ia berehala erantzuna lortzen dugu β€œarazo zaila. Goi mailako ingeniariei eman zien - itxaron... "

Denbora dezente itxaron behar izan nuen (elkarrizketa osoa 25.06.2019/9.07.2019/10.4.6etik XNUMX/XNUMX/XNUMXra arte izan zen) eta emaitza izan zen mezua: "arazo hau ez dago Bitrix CMSaren funtzionamenduarekin lotuta, baina erlazionatuta dago. datu-basearen beraren funtzionamendura mariadb XNUMX-n eta, zoritxarrez, aukera konpontzeko gunearen alboan arazo hori falta dela, beharrezkoa izango da MariaDB-ren bertsio zaharrera migratzea.

Nabigatu... Ipuinaren hasieran beherapena egitea pentsatu nuen, baina hemen zuri-beltzeanezin dela beherakadarik egon. Bateratu zabortegiak eta berriro zabaldu instalatu berri den zerbitzari batean. Horiek. ona da zerbitzari guztiak aldi berean ez ditudala eguneratu. Horiek. "soilik" ehun gune (barre urduri :-)). Honela ere esan dute: "MariaDB 10.4.6 datu-basea erabiltzean arazoa konpontzeko, MariaDB laguntza teknikoarekin harremanetan jarri beharko duzu transakzioak ez duela datu-basetik erregistrorik ezabatuko eskaera bat egiten bada:

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

MariaDB laguntzarekin komunikatzen hasi ginenetik pare bat orduz piztu zen itxaropena, baina orduan gutun bat jaso nuen, non oso zuzen jakinarazi zidaten ez nintzela erabiltzaile komertziala eta, beraz, inork ez zuela nire arazoa nahita konponduko, baina badago beren webgunean foro bat eta bertan aukerak bilatzen saia zaitezke... Ez zaitut aspertuko xehetasunekin. Hor ez dago aukerarik.
BURUZ! ISPrako lizentzia erosi dugu!
Kaixo, laguntza? Mutilak, lagundu!
- Barkatu, ez ditugu onartzen DBMSaren jatorrizko bertsioak aldatzen dituzten maltzurrak. Nahi baduzu, docker-en zerbitzari alternatibo batekin aukera dago.
- Baina nola iritsiko dira hara erabiltzaileak eta datu-baseak? Dockerra?
- Tira, eskuekin hara arrastatzen dituzu...
- Bai! Eta ez ahaztu mysql-erako ataka aldatu egingo dela eta konfigurazio guztiak berridatzi beharko dituzula.
Ados, eskerrik asko, pentsatuko dut...
10.4 heldulekuekin eraistea eta 10.2 instalatzea pentsatu nuen eta beste zerbitzarietan arazorik ez zegoen.

Prozesua ez zen berritze prozesutik oso desberdina izan. Bakarrik beharrezkoa zen 10.4-tik 10.2ra aldatzea biltegirako estekan, berrezarri eta yum-erako cachea berriro sortzea. Tira, beste β€œtxikikeria” bat: 10.4 kendu ondoren, /var/lib/mysql-era joango gara eta hortik dena ezabatzen dugu. Urrats hori gabe, 10.2 instalatu ondoren, zerbitzua etengabe huts egingo du eta ikusiko duzu

НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… '' Lost connection to MySQL server at 'reading initial communication packet', system error: 104 "Connection reset by peer"

edo

Lost connection to MySQL server at 'handshake: reading inital communication packet', system error: 104

Datu-baseak inportatu aurretik, ISP konfigurazioetan zehaztutako mysql root pasahitza ezarri eta mysql datu-baseen iraulketa inportatu nuen. Bada, bada, dagoeneko erabiltzaileak eta eskubideak daudenez, erabiltzaileen datu-base guztiak segidan inportatzen ditugu root kontuarekin.

Datu-basearen iraulketarako script testua:

#!/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'

Datu-baseak inportatu aurretik, deskonprimitu behar dituzu. Beraz, exekutatu komandoa

gunzip /BACK/*.gz

Eta azkena: arrazoiren batengatik, marratxoak onartzen dira datu-baseen izenetan (ISPmanager erabiliz sortzen badituzu). Baina izenean marratxoa duen datu-base batera iraulketa bat sortzen edo kargatzen saiatzean, kontsultaren sintaxia okerra dela dioen mezua jasoko duzu.

Irakurri bedeinkapen guztien amaiera arte. Barkamena eskatzen dut ziurrenik tartekatu gabeko komak direla eta - arazoak dituzte. Funtsean deskribatutako proposamen bat nahi izanez gero - idatzi pertsonal batean iruzkinetan zerbait galtzeko beldur naizelako. Eta ez zin gehiegi egin - hau da nire lehen artikulua πŸ™‚

UPD1:

Ia ahaztu zait aipatzea: MariaDB mailaz jaitsi gabe arazoari irtenbidea bilatzen saiatzen ari nintzela, informazioa nolabait eguneratu behar izan nuen. Honela eguneratu zen: datu-base osoa InnoDB-tik MyISAM-era bihurtzen da, infa eguneratzen da eta gero InooDB-ra itzultzen da.
UPD2:

1C-Bitrix-en eskutitz bat jaso berri dut eduki honekin:

Berrikusteko eskaera osatu da
"Mariadb 10.4.6ra eguneratu ondoren, errore bat gertatu da infoblokearen elementua gordetzean"
Modulua: iblock, bertsioa: ezezaguna
Irtenbidea: baztertua

Beraz, oraingoz, itxuraz, ezinezkoa da 10.4ra eguneratzea πŸ™

Iturria: www.habr.com

Gehitu iruzkin berria