Bitrix ug pag-update sa MariaDB sa pinakabag-o nga stable nga bersyon

Maayong adlaw, minahal nga mga Khabrovites! Tugoti ako sa pagpaila sa akong kaugalingon, Alexander. System administrator sa usa ka gamay apan mapahitas-on nga WEB-studio. Gusto gyud namon nga ang tanan molihok dayon, luwas ug adunay bag-ong software. Aron mahimo kini, gipataas pa namon ang nagios + PhantomJS bundle sa intra-office nga kompyuter ug matag 30 minuto among susihon ang katulin sa pagkarga sa panid. Sumala sa mga termino sa serbisyo, gibantayan usab namon ang mga pag-update sa 1C-Bitrix ug gi-install kini kanunay. Ug unya usa ka adlaw, pagkahuman sa sunod nga pag-update, nakita namon ang usa ka mensahe sa admin panel nga nag-ingon nga sukad sa ting-init sa 2019, ang 1C-Bitrix mihunong sa pagtrabaho sa MySQL 5.5 ug kinahanglan nga i-update. Ang mga lalaki gikan sa ISPSystem guwapo ug kanunay nga nagpalapad sa pag-andar sa panel, diin espesyal nga salamat kanila. Apan niining higayona dili posible nga i-klik ang tanan gamit ang mouse. Apan kung unsa ang nahitabo ug kung pila ka ubanon ang karon sa akong bungot makit-an sa ilawom sa giputol.

Adunay usa lamang ka kapilian sa pag-instalar sa usa ka "alternatibong DBMS server" nga na-install sa sudlanan sa Docker. Siyempre, akong nasabtan nga ang Docker madaginot kaayo sa mga kahinguhaan, apan bisan unsa pa kini ka maayo, ang overhead mao gihapon ang > 0. Ug ania kami, ingon nga kini, nakig-away sa ikanapulo nga mga segundo ug gi-optimize ang tanan nga mga site sa entrada sa wala pa imantala ug gipirmahan ang usa ka kasabutan. So dili ko pilion.
Ok, unsa ang naa sa dokumentasyon? I-backup ang tanan, idugang ang usa ka file nga adunay link sa MariaDB repository sa yum.repos.d, unya

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

Si Yum sa ulahi manumpa sa kamatuoran nga adunay nagtangtang sa mga pakete nga wala niya nahibal-an. Apan una - pasagdi siya nga manumpa, okay ra. Ug ikaduha, kung buhaton nimo ang pagtangtang pinaagi sa yum, nan kini mosulay sa pagguba, kauban ang MariaDB, ang tanan nga may kalabutan niini pinaagi sa mga dependency, ug kini ang PHP ug ISPManager ug PHPmyadmin. Busa atong atubangon ang mga bug sa ulahi.


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

Sa kinatibuk-an, ang tanan gipahimutang ug nagsugod. Ang nindot nga butang mao nga ang mga base gikuha ug dili kinahanglan nga ibalik kini gikan sa mga dump. Gisusi nako ang mga site - kini nagtrabaho ug dali. Miadto ako sa usa ka magtiayon nga mga admin panel aron masiguro nga wala’y nahulog ug nag-unsubscribe sa direktor nga OK ra ang tanan. Sa wala’y 30 minuto, nahibal-an nga dili gyud kini OK ...

Sa diha nga ako misulay sa pag-adto sa admin panel ug sa pagdugang sa edit bisan unsa sa sulod, usa ka mensahe nahulog

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']

Tungod kay ang sulud sa site gidugang sa among mga empleyado, ang mga kliyente wala gihapon nahibal-an ug wala pa magsugod sa pagbulag kanamo. Apan kini usa ka butang sa oras, tungod kay ang kasayuran sa mga site kinahanglan nga ma-update, ug daghang mga kliyente ang nagsunod niini pag-ayo.

Gikan sa teksto sa sayup, makahinapos kita nga ang Bitrix naningkamot sa pagdugang usa ka bag-ong rekord sa database, samtang gipiho ang parehas nga panguna nga yawe nga naa sa artikulo nga gi-edit. Busa adunay rason sa pagduda nga ang problema mahitabo sa kilid sa Bitrix. Adto sa ilang website ug kontaka ang suporta. Hapit dayon makuha nato ang tubag nga "lisud nga problema. Gihatag kini sa mga senior engineer - paghulat ... "

Kinahanglan kong maghulat og dugay (ang tibuok nga dayalogo nahitabo gikan sa 25.06.2019/9.07.2019/10.4.6 hangtod XNUMX/XNUMX/XNUMX) ug ang resulta mao ang mensahe nga "kini nga problema wala'y kalabutan sa operasyon sa Bitrix CMS, apan adunay kalabutan. sa operasyon sa database mismo sa mariadb XNUMX ug, sa walay palad, sa kilid sa site kini nga problema aron masulbad ang posibilidad nga nawala, kinahanglan nga mobalhin sa daan nga bersyon sa MariaDB.

Naglayag ... Naghunahuna ko bahin sa pag-downgrade sa sinugdanan sa istorya, apan dinhi sa itom ug putinga walay mahimo nga pag-downgrade. Paghiusa sa mga dump ug pag-redeploy sa bag-ong na-install nga server. Mga. maayo kay wala nako gi-update ang tanan nga mga server sa usa ka higayon. Mga. "lamang" usa ka gatos nga mga site (nervous chuckle :-)). Gisulti usab nila ang suporta: "Aron masulbad ang problema kung gamiton ang database sa MariaDB 10.4.6, kinahanglan nimo nga kontakon ang teknikal nga suporta sa MariaDB nga ang transaksyon dili magtangtang sa usa ka rekord gikan sa database kung ang usa ka hangyo gihimo:

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

Ang paglaum misidlak sulod sa pipila ka oras gikan sa higayon nga nagsugod kami sa pagpakigsulti sa suporta sa MariaDB, apan nakadawat ako usa ka sulat diin ako sakto nga gipahibalo nga ako dili usa ka komersyal nga tiggamit ug busa walay usa nga gituyo nga makasulbad sa akong problema, apan adunay usa ka forum sa ilang website ug mahimo nimong sulayan pangitaon ang mga kapilian didto ... Dili ko nimo usikan ang mga detalye. Walay mga kapilian didto.
MAHITUNGOD SA! Nakapalit kami usa ka lisensya alang sa ISP!
Hello, suporta? Guys, tabang!
- Pasensya, wala kami nagsuporta sa mga kawatan nga nagbag-o sa lumad nga bersyon sa DBMS. Kung gusto nimo, adunay kapilian nga adunay alternatibong server sa docker.
- Apan sa unsang paagi ang mga tiggamit ug mga database makaabot didto? Sa docker?
- Bueno, giguyod nimo sila didto gamit ang imong mga kamot ...
- Oo! Ug ayaw kalimti nga ang port para sa mysql mausab ug kinahanglan nimo nga moagi ug isulat pag-usab ang tanan nga mga config.
Ok salamat, hunahunaon ko kini ...
Naghunahuna ko ug nakahukom nga gub-on ang 10.4 nga adunay mga gunitanan ug i-install ang 10.2 diin wala’y mga problema sa ubang mga server.

Ang proseso dili kaayo lahi sa proseso sa pag-upgrade. Kinahanglan ra nga usbon ang 10.4 hangtod 10.2 sa link sa repository, i-reset ug paghimo pag-usab ang cache para sa yum. Aw, usa pa nga "trifle": pagkahuman makuha ang 10.4, moadto kami sa /var/lib/mysql ug tangtangon ang tanan gikan didto. Kung wala kini nga lakang, pagkahuman ma-install ang 10.2, ang serbisyo kanunay nga mahagsa ug imong makita

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

O

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

Sa wala pa i-import ang mga database, una nakong gibutang ang mysql root password nga gitakda sa ISP configs ug gi-import ang mysql database dump. Aw, unya, tungod kay aduna nay mga tiggamit ug mga katungod, gi-import lang namo ang tanang mga database sa tiggamit sa usa ka laray nga adunay root account.

Teksto sa script para sa dump sa database:

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

Sa dili pa i-import ang mga database, kinahanglan nimo nga i-unzip kini. Busa pagdagan lang ang mando

gunzip /BACK/*.gz

Ug ang katapusan nga butang: sa pipila ka mga rason, ang mga hyphen gitugutan sa mga ngalan sa database (kung imong gimugna kini gamit ang ISPmanager). Apan sa paghimo o pagsulay sa pag-upload sa usa ka dump sa usa ka database nga adunay hyphen sa ngalan, makadawat ka usa ka mensahe nga ang pangutana nga syntax dili husto.

Basaha hangtod sa kataposan sa tanang panalangin. Nangayo kog pasaylo sa lagmit nga wala’y gilay-on nga mga koma - naa sila sa kasamok. Kung adunay mga pangandoy alang sa usa ka sugyot nga hinungdanon nga gihulagway - pagsulat sa usa ka personal tungod kay sa mga komento nahadlok ako nga makalimtan ang usa ka butang. Ug ayaw pagpanumpa pag-ayo - kini ang akong una nga artikulo πŸ™‚

UPD1:

Hapit ko nakalimot sa paghisgot: samtang naningkamot ko sa pagpangita og solusyon sa problema nga walay pag-downgrade sa MariaDB, kinahanglan nako nga i-update ang impormasyon. Gi-update kini sama niini: ang tibuok database nakabig gikan sa InnoDB ngadto sa MyISAM, ang infa gi-update ug dayon gibalik ngadto sa InooDB.
UPD2:

Bag-o lang nakadawat og sulat gikan sa 1C-Bitrix nga adunay mosunod nga sulod:

Nakompleto ang hangyo sa rebisyon
"Pagkahuman sa pag-update sa mariadb sa 10.4.6, usa ka sayup ang nahitabo kung gitipigan ang elemento sa infoblock"
Module: iblock, bersyon: wala mailhi
Solusyon: gisalikway

Busa sa pagkakaron, dayag nga imposible ang pag-update sa 10.4 πŸ™

Source: www.habr.com

Idugang sa usa ka comment