Bitrix ati imudojuiwọn MariaDB si ẹya iduroṣinṣin tuntun

O dara ọjọ, ọwọn Khabrovits! Gba mi laaye lati ṣafihan ara mi, Alexander. Alakoso eto ti ọkan kekere sugbon agberaga WEB-studio. A fẹ gaan ohun gbogbo lati ṣiṣẹ ni iyara, lailewu ati pẹlu sọfitiwia tuntun. Lati ṣe eyi, a paapaa gbe idii nagios + PhantomJS soke lori kọnputa inu-ọfiisi ati ṣayẹwo iyara ikojọpọ oju-iwe ni gbogbo ọgbọn iṣẹju. Gẹgẹbi awọn ofin iṣẹ, a tun ṣe abojuto awọn imudojuiwọn 30C-Bitrix ati fi sii wọn nigbagbogbo. Ati lẹhinna ni ọjọ kan, lẹhin imudojuiwọn atẹle, a rii ifiranṣẹ kan ninu nronu abojuto ti n sọ pe lati igba ooru ti ọdun 1, 2019C-Bitrix duro ṣiṣẹ pẹlu MySQL 1 ati pe o nilo imudojuiwọn. Awọn eniyan lati ISPSystem jẹ ẹlẹwa ati faagun iṣẹ ṣiṣe ti nronu nigbagbogbo, fun eyiti o ṣeun pataki si wọn. Ṣugbọn ni akoko yii ko ṣee ṣe lati tẹ ohun gbogbo pẹlu Asin. Ṣugbọn kini o ṣẹlẹ ati melo ni irun grẹy ti wa ni irungbọn mi ni a le rii labẹ ge.

Aṣayan nikan wa lati fi sori ẹrọ “olupin DBMS omiiran” ti o ti fi sii sinu apoti Docker. Nitoribẹẹ, Mo loye pe Docker jẹ ainidi pupọ pẹlu awọn orisun, ṣugbọn laibikita bawo ni o ṣe n ṣiṣẹ, oke yoo tun jẹ> 0. Ati pe a wa, bi o ti jẹ pe, ija ni idamẹwa ti awọn aaya ati iṣapeye gbogbo awọn aaye ni ẹnu-ọna ṣaaju titẹ ati fowo si adehun. Nitorinaa kii ṣe yiyan mi.
O dara, kini o wa ninu iwe-ipamọ naa? Ṣe afẹyinti ohun gbogbo, ṣafikun faili kan pẹlu ọna asopọ si ibi ipamọ MariaDB si yum.repos.d, lẹhinna

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

Yum yoo bura nigbamii ni otitọ pe ẹnikan yọkuro awọn idii laisi imọ rẹ. Ṣugbọn ni akọkọ - jẹ ki o bura, o dara. Ati ni ẹẹkeji, ti o ba ṣe piparẹ nipasẹ yum, lẹhinna o gbiyanju lati wó, pẹlu MariaDB, ohun gbogbo ti o ni ibatan si nipasẹ awọn igbẹkẹle, ati pe eyi ni PHP ati ISPManager ati PHPmyadmin. Nitorinaa a yoo koju awọn idun nigbamii.


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

Ni gbogbogbo, ohun gbogbo ti ṣeto ati bẹrẹ. Ohun ti o dara julọ ni pe a ti gbe awọn ipilẹ ati pe ko ṣe pataki lati mu pada wọn lati awọn idalẹnu. Mo ṣayẹwo awọn aaye naa - wọn ṣiṣẹ ati yarayara. Mo lọ si awọn panẹli abojuto meji kan lati rii daju pe ko si ohun ti o ṣubu ati pe ko ṣe alabapin si oludari pe ohun gbogbo dara. Laarin iṣẹju 30, o wa jade pe ko dara rara rara…

Nigbati Mo gbiyanju lati lọ si igbimọ abojuto ati ṣafikun satunkọ ohunkohun ninu akoonu, ifiranṣẹ kan ṣubu

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

Niwọn bi akoonu ti o wa lori aaye naa ti ṣafikun nipasẹ awọn oṣiṣẹ wa, awọn alabara tun ko mọ ohunkohun ati pe wọn ko tii bẹrẹ lati ya wa ya. Ṣugbọn o jẹ ọrọ ti akoko, nitori alaye lori awọn aaye nilo lati ni imudojuiwọn, ati ọpọlọpọ awọn alabara tẹle eyi ni pẹkipẹki.

Lati ọrọ aṣiṣe, a le pinnu pe Bitrix n gbiyanju lati ṣafikun igbasilẹ tuntun si ibi ipamọ data, lakoko ti o n ṣalaye bọtini akọkọ kanna ti nkan ti n ṣatunkọ ni. Nitorinaa idi wa lati fura pe iṣoro naa waye ni ẹgbẹ ti Bitrix. Lọ si oju opo wẹẹbu wọn ki o kan si atilẹyin. Fere lẹsẹkẹsẹ a gba idahun “iṣoro ti o nira. Fi fun awọn onimọ-ẹrọ giga - duro…”

Mo ni lati duro fun igba pipẹ (gbogbo ọrọ naa waye lati 25.06.2019/9.07.2019/10.4.6 si XNUMX/XNUMX/XNUMX) ati abajade ni ifiranṣẹ naa “iṣoro yii ko ni ibatan si iṣẹ ti Bitrix CMS, ṣugbọn o ni ibatan. si iṣẹ ti data funrararẹ ni mariadb XNUMX ati, laanu, pẹlu ẹgbẹ ti aaye naa iṣoro yii lati yanju iṣeeṣe ti nsọnu, yoo jẹ pataki lati jade lọ si ẹya atijọ ti MariaDB. ”

Ti ọkọ oju omi ... Mo ro nipa downgrade ni ibẹrẹ itan, ṣugbọn nibi ni dudu ati funfunwipe ko le si downgrade. Dapọ awọn idalenu ati tunṣe sori olupin tuntun ti a fi sii. Awon. o dara pe Emi ko ṣe imudojuiwọn gbogbo awọn olupin ni ẹẹkan. Awon. “nikan” awọn aaye ọgọrun kan (ẹru aifọkanbalẹ :-)). Wọn tun sọ ni atilẹyin: “Lati yanju iṣoro naa nigba lilo ibi ipamọ data MariaDB 10.4.6, iwọ yoo nilo lati kan si atilẹyin imọ-ẹrọ MariaDB pe idunadura naa kii yoo paarẹ igbasilẹ kan lati ibi ipamọ data ti o ba ṣe ibeere kan:

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

Ireti tàn fun awọn wakati meji lati akoko ti a bẹrẹ ibaraẹnisọrọ pẹlu atilẹyin MariaDB, ṣugbọn lẹhinna Mo gba lẹta kan ninu eyiti a ti sọ fun mi ni pipe pe Emi kii ṣe olumulo iṣowo ati nitorinaa ko si ẹnikan ti yoo yanju iṣoro mi ni ipinnu, ṣugbọn o wa. apejọ kan lori oju opo wẹẹbu wọn ati pe o le gbiyanju lati wa awọn aṣayan nibẹ… Emi kii yoo bi ọ pẹlu awọn alaye. Ko si awọn aṣayan nibẹ.
NIPA! A ti ra iwe-aṣẹ fun ISP!
Kaabo, atilẹyin? Awọn ọmọkunrin, ṣe iranlọwọ!
Ma binu, a ko ṣe atilẹyin fun awọn onijagidijagan ti o yi awọn ẹya abinibi ti DBMS pada. Ti o ba fẹ, aṣayan wa pẹlu olupin omiiran ni docker.
- Ṣugbọn bawo ni awọn olumulo ati awọn apoti isura data yoo wa nibẹ? Lati docker?
- O dara, o fa wọn sibẹ pẹlu ọwọ rẹ ...
- Bẹẹni! Maṣe gbagbe pe ibudo fun mysql yoo yipada ati pe iwọ yoo nilo lati lọ nipasẹ ati atunkọ gbogbo awọn atunto.
O dara o ṣeun, Emi yoo ronu nipa rẹ…
Mo ro ati pinnu lati wó 10.4 pẹlu awọn ọwọ ati fi sori ẹrọ 10.2 pẹlu eyiti ko si awọn iṣoro lori awọn olupin miiran.

Ilana naa ko yatọ pupọ si ilana igbesoke. Nikan o jẹ dandan lati yi 10.4 si 10.2 ni ọna asopọ si ibi ipamọ, tunto ati tun-ṣẹda kaṣe fun yum. O dara, ọkan diẹ “trifle”: lẹhin yiyọ 10.4, a lọ si /var/lib/mysql ki o paarẹ ohun gbogbo lati ibẹ. Laisi igbesẹ yii, lẹhin fifi sori ẹrọ 10.2, iṣẹ naa yoo jamba nigbagbogbo ati pe iwọ yoo rii

Не удалось подключиться к базе данных '' Lost connection to MySQL server at 'reading initial communication packet', system error: 104 "Connection reset by peer"

Tabi

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

Ṣaaju ki o to gbejade awọn apoti isura infomesonu, Mo kọkọ ṣeto ọrọ igbaniwọle root mysql ti o jẹ pato ninu awọn atunto ISP ati gbejade idalẹnu data mysql. O dara, lẹhinna, niwọn bi awọn olumulo ati awọn ẹtọ ti wa tẹlẹ, a kan gbe wọle gbogbo awọn apoti isura infomesonu olumulo ni ọna kan pẹlu akọọlẹ gbongbo.

Ọrọ iwe afọwọkọ fun idalẹnu data:

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

Ṣaaju ki o to gbe awọn apoti isura infomesonu wọle, o nilo lati ṣii wọn sii. Nitorina o kan ṣiṣe aṣẹ naa

gunzip /BACK/*.gz

Ati ohun ti o kẹhin: fun idi kan, awọn hyphens ni a gba laaye ni awọn orukọ data (ti o ba ṣẹda wọn nipa lilo ISPmanager). Ṣugbọn nigbati o ba ṣẹda tabi gbiyanju lati gbe idalẹnu kan si ibi ipamọ data ti o ni hyphen ni orukọ, o gba ifiranṣẹ kan pe sintasi ibeere ko tọ.

Ka de opin gbogbo ibukun. Mo gafara fun awọn aami idẹsẹ ti ko ni aaye julọ - wọn wa ninu wahala. Ti awọn ifẹ ba wa fun imọran pataki ti a ṣalaye - kọ ni ti ara ẹni nitori ninu awọn asọye Mo bẹru lati padanu nkankan. Ki o si ma ṣe bura pupọ - eyi ni nkan akọkọ mi 🙂

UPD1:

Mo ti fẹrẹ gbagbe lati darukọ: lakoko ti Mo n gbiyanju lati wa ojutu kan si iṣoro naa laisi idinku MariaDB silẹ, Mo ni lati ṣe imudojuiwọn alaye naa bakan. O ti ni imudojuiwọn bii eyi: gbogbo data data ti yipada lati InnoDB si MyISAM, infa ti ni imudojuiwọn ati lẹhinna yipada pada si InooDB.
UPD2:

O kan gba lẹta kan lati 1C-Bitrix pẹlu akoonu atẹle:

Ibeere atunyẹwo ti pari
"Lẹhin ti imudojuiwọn mariadb si 10.4.6, aṣiṣe waye nigbati o fipamọ nkan infoblock"
Module: iblock, version: unknown
Solusan: kọ

Nitorinaa fun bayi, nkqwe ko ṣee ṣe lati ṣe imudojuiwọn si 10.4 🙁

orisun: www.habr.com

Fi ọrọìwòye kun