Bitrix ak mete ajou MariaDB nan dènye vèsyon ki estab

Bon jounen, chè Khabrovites! Pèmèt mwen prezante tèt mwen, Alexander. Administratè sistèm nan yon ti men fyè WEB-estidyo. Nou reyèlman vle tout bagay yo travay byen vit, san danje epi ak nouvo lojisyèl. Pou fè sa, nou menm ogmante pake nagios + PhantomJS sou òdinatè andedan biwo a epi tcheke vitès chaje paj la chak 30 minit. Dapre kondisyon sèvis yo, nou menm tou nou kontwole mizajou 1C-Bitrix epi enstale yo regilyèman. Apre sa, yon jou, apre pwochen aktyalizasyon a, nou wè yon mesaj nan panèl admin ki deklare ke depi ete 2019 la, 1C-Bitrix sispann travay ak MySQL 5.5 epi li bezwen mete ajou. Mesye ki soti nan ISPSystem yo bèl ak regilyèman elaji fonksyonalite a nan panèl la, pou ki mèsi espesyal yo. Men, fwa sa a li pa t 'posib klike sou tout bagay ak sourit la. Men, sa ki te pase ak konbyen cheve gri kounye a nan bab mwen ka jwenn anba koupe a.

Te gen sèlman yon opsyon enstale yon "sèvè DBMS altènatif" ki enstale nan veso Docker la. Natirèlman, mwen konprann ke Docker trè frugal ak resous, men kèlkeswa jan li gwo travay, anlè a ap toujou > 0. Ak isit la nou se, kòm li te, batay nan dizyèm segonn ak optimize tout sit nan papòt la anvan pibliye ak siyen yon akò. Se konsa, pa chwa mwen an.
Oke, ki sa ki nan dokiman an? Sovgad tout bagay, ajoute yon fichye ki gen yon lyen nan depo MariaDB nan yum.repos.d, Lè sa a

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

Yum pral imedyatman fè sèman nan lefèt ke yon moun retire pakè yo san li pa konnen. Men, premye - kite l fè sèman, li nan oke. Ak dezyèmman, si ou fè sipresyon an nan yum, Lè sa a, li eseye demoli, ansanm ak MariaDB, tout bagay ki gen rapò ak li pa depandans, ak sa a se PHP ak ISPManager ak PHPmyadmin. Se konsa, nou pral fè fas ak pinèz yo pita.


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

An jeneral, tout bagay te mete kanpe e li te kòmanse. Bagay la bèl se ke baz yo te ranmase epi li pa te nesesè yo retabli yo soti nan pil fatra. Mwen tcheke sit yo - yo travay ak byen vit. Mwen te ale nan yon koup nan panno admin asire w ke pa gen anyen tonbe koupe ak dezabònman nan direktè a ke tout bagay te OK. Nan mwens pase 30 minit, li te tounen soti ke li pa te menm OK ditou ...

Lè m 'te eseye ale nan panèl la admin epi ajoute modifye anyen nan kontni an, yon mesaj tonbe soti

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

Depi anplwaye nou yo ajoute kontni an sou sit la, kliyan yo toujou pa t 'konnen anyen e yo poko kòmanse dechire nou. Men, se te yon kesyon de tan, paske enfòmasyon ki sou sit yo bezwen mete ajou, ak anpil kliyan swiv sa a trè sere.

Soti nan tèks erè a, nou ka konkli ke Bitrix ap eseye ajoute yon nouvo dosye nan baz done a, pandan y ap presize menm kle prensipal atik la ke yo te edited te genyen. Se konsa, gen yon rezon ki fè yo sispèk ke pwoblèm nan rive sou bò Bitrix. Ale sou sit entènèt yo epi kontakte sipò. Prèske imedyatman nou jwenn repons lan "pwoblèm difisil. Yo bay enjenyè ansyen yo - tann ... "

Mwen te oblije rete tann byen lontan (tout dyalòg la te fèt soti nan 25.06.2019/9.07.2019/10.4.6 rive nan XNUMX/XNUMX/XNUMX) ak rezilta a se te mesaj la "pwoblèm sa a pa gen rapò ak operasyon Bitrix CMS la, men li gen rapò. nan operasyon an nan baz done a tèt li nan mariadb XNUMX epi, malerezman, ak bò nan sit la yo rezoud pwoblèm sa a ki manke, li pral nesesè yo imigre nan yon vèsyon ki pi gran nan MariaDB."

Sailed ... Mwen te panse sou downgrade nan kòmansman an nan istwa a, men isit la nan nwa ak blanke pa ka gen okenn downgrade. Rantre pil fatra yo ak redeplwaye sou yon sèvè ki fèk enstale. Moun sa yo. li bon ke mwen pa mete ajou tout serveurs yo anmenmtan. Moun sa yo. "sèlman" yon santèn sit (nève rire :-)). Yo te di tou nan sipò: "Pou rezoud pwoblèm nan lè w ap itilize baz done MariaDB 10.4.6, w ap bezwen kontakte sipò teknik MariaDB ke tranzaksyon an pa pral efase yon dosye nan baz done a si yo fè yon demann:

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

Espwa te klere pou kèk èdtan depi lè nou te kòmanse kominike ak sipò MariaDB, men answit mwen te resevwa yon lèt kote mwen te enfòme m byen kòrèkteman ke mwen pa t yon itilizatè komèsyal e se poutèt sa pèsonn pa t ap fè espre rezoud pwoblèm mwen an, men gen yon fowòm sou sit entènèt yo epi ou ka eseye chèche opsyon la ... Mwen pa pral anwiye ou ak detay. Pa gen okenn opsyon la.
SOU! Nou te achte yon lisans pou ISP!
Bonjou, sipò? Mesye, ede!
- Padon, nou pa sipòte malfra ki chanje vèsyon natif natal nan DBMS la. Si ou vle, gen yon opsyon ak yon sèvè altènatif nan Docker.
- Men, ki jan itilizatè yo ak baz done yo pral la? Pou docker?
- Oke, ou trennen yo la ak men ou ...
- Wi! Epi pa bliye ke pò a pou mysql pral chanje epi w ap bezwen ale nan ak reekri tout konfigirasyon yo.
Ok mèsi, mwen pral reflechi sou li...
Mwen te panse ak deside demoli 10.4 ak manch epi enstale 10.2 ak ki pa te gen okenn pwoblèm sou lòt serveurs.

Pwosesis la pa t anpil diferan de pwosesis ajou. Se sèlman li te nesesè yo chanje 10.4 a 10.2 nan lyen ki mennen nan repozitwa a, Reyajiste ak re-kreye kachèt la pou yum. Oke, yon lòt "gade": apre yo fin retire 10.4, nou ale nan /var/lib/mysql epi efase tout bagay soti nan la. San yo pa etap sa a, apre yo fin enstale 10.2, sèvis la ap toujou ap aksidan epi ou pral wè

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

Oswa

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

Anvan enpòte baz done yo, mwen premye mete modpas rasin mysql ki te espesifye nan konfigirasyon ISP yo epi enpòte pil fatra baz done mysql la. Oke, lè sa a, depi gen deja itilizatè ak dwa, nou tou senpleman enpòte tout baz done itilizatè yo nan yon ranje ak kont rasin lan.

Tèks script pou pil fatra baz done:

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

Anvan w enpòte baz done, ou bezwen dezip yo. Se konsa, jis kouri lòd la

gunzip /BACK/*.gz

Ak dènye bagay la: pou kèk rezon, tire yo gen dwa nan non baz done (si ou kreye yo lè l sèvi avèk ISPmanager). Men, lè w ap kreye oswa ap eseye telechaje yon pil fatra nan yon baz done ki gen yon tire nan non an, ou jwenn yon mesaj ke sentaks rechèch la pa kòrèk.

Li jiska lafen tout benediksyon yo. Mwen eskize pou vigil ki gen plis chans pa espas - yo nan pwoblèm. Si gen volonte pou yon pwopozisyon esansyèlman dekri - ekri nan yon pèsonèl paske nan kòmantè yo mwen pè yo manke yon bagay. Epi pa sèmante twòp - sa a se premye atik mwen an 🙂

UPD1:

Mwen prèske bliye mansyone: pandan mwen t ap eseye jwenn yon solisyon a pwoblèm nan san yo pa desann MariaDB, mwen te gen yon jan kanmenm mete ajou enfòmasyon an. Li te mete ajou tankou sa a: se baz done a tout antye konvèti soti nan InnoDB nan MyISAM, infa yo mete ajou ak Lè sa a, konvèti tounen nan InooDB.
UPD2:

Jis resevwa yon lèt nan men 1C-Bitrix ak kontni sa a:

Demann revizyon ranpli
"Apre aktyalizasyon mariadb nan 10.4.6, yon erè te fèt lè sove eleman infoblock la"
Modil: iblock, vèsyon: enkoni
Solisyon: rejte

Se konsa, pou kounye a, aparamman li enposib mete ajou nan 10.4 🙁

Sous: www.habr.com

Add nouvo kòmantè