Bitrix agus ag ùrachadh MariaDB chun dreach seasmhach as ùire

Latha math, a Chabrovites ghràdhach! Leig leam mi fhìn a thoirt a-steach, Alasdair. Rianadair siostam aon stiùidio WEB beag ach moiteil. Tha sinn dha-rìribh ag iarraidh gun obraich a h-uile càil gu sgiobalta, gu sàbhailte agus le bathar-bog ùr. Gus seo a dhèanamh, thog sinn eadhon am pasgan nagios + PhantomJS air a’ choimpiutair taobh a-staigh na h-oifis agus thoir sùil air astar luchdachadh na duilleige gach 30 mionaid. A rèir teirmichean na seirbheis, bidh sinn cuideachd a’ cumail sùil air ùrachaidhean 1C-Bitrix agus gan stàladh gu cunbhalach. Agus an uairsin aon latha, às deidh an ath ùrachadh, chì sinn teachdaireachd anns a ’phannal rianachd gu bheil 2019C-Bitrix bho samhradh 1 a’ stad ag obair le MySQL 5.5 agus feumar ùrachadh. Tha na balaich bho ISPSystem eireachdail agus bidh iad gu cunbhalach a’ leudachadh comas-gnìomh a’ phannail, agus tha sin a’ toirt taing shònraichte dhaibh. Ach an turas seo cha robh e comasach a h-uile càil a bhriogadh leis an luchag. Ach mar a thachair agus cia mheud falt glas a tha a-nis air mo fheusag a gheibhear fon ghearradh.

Cha robh ann ach roghainn “frithealaiche DBMS eile” a chuir a-steach ann an soitheach Docker. Gu dearbh, tha mi a 'tuigsinn gu bheil Docker gu math frugal le goireasan, ach ge bith dè cho math' sa tha e ag obair, bidh an còrr fhathast> 0. Agus an seo tha sinn, mar gum biodh, a 'sabaid ann an deicheamhan de dhiog agus a' dèanamh an fheum as fheàrr de gach làrach aig an t-slighe a-steach mus tèid fhoillseachadh agus a 'soidhnigeadh aonta. Mar sin chan e mo roghainn.
Ceart gu leòr, dè a tha anns na sgrìobhainnean? Dèan cùl-taic de gach nì, cuir faidhle le ceangal gu stòr MariaDB gu yum.repos.d, an uairsin

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

Bidh Yum a’ mionnachadh às deidh sin gun tug cuideigin air falbh na pacaidean gun fhios dha. Ach an toiseach - leig leis mionnachadh, tha e ceart gu leòr. Agus san dàrna h-àite, ma nì thu an sguabadh às tro yum, feuchaidh e ri leagail, còmhla ri MariaDB, a h-uile dad a tha co-cheangailte ris le eisimeileachd, agus is e seo PHP agus ISPManager agus PHPmyadmin. Mar sin dèiligidh sinn ris na mialan nas fhaide air adhart.


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

San fharsaingeachd, chaidh a h-uile càil a stèidheachadh agus a thòiseachadh. Is e an rud math gun deach na bunaitean a thogail agus nach robh feum air an toirt air ais bho dumps. Rinn mi sgrùdadh air na làraich - bidh iad ag obair agus gu sgiobalta. Chaidh mi gu pannalan rianachd no dhà gus dèanamh cinnteach nach robh dad air tuiteam dheth agus gun fho-sgrìobhadh don stiùiriche gun robh a h-uile dad ceart gu leòr. Ann an nas lugha na 30 mionaid, thionndaidh e a-mach nach robh e eadhon ceart gu leòr idir ...

Nuair a dh’ fheuch mi ri dhol chun phannal rianachd agus deasachadh a dhèanamh air rud sam bith san t-susbaint, thuit teachdaireachd a-mach

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

Leis gu bheil an susbaint air an làrach air a chuir ris leis an luchd-obrach againn, cha robh fios aig an luchd-dèiligidh fhathast air dad agus cha robh iad air tòiseachadh air ar reubadh às a chèile fhathast. Ach b 'e cùis ùine a bh' ann, oir feumar am fiosrachadh air na làraichean ùrachadh, agus tha mòran de luchd-dèiligidh a 'leantainn seo gu dlùth.

Bho theacsa na mearachd, faodaidh sinn a cho-dhùnadh gu bheil Bitrix a 'feuchainn ri clàr ùr a chur ris an stòr-dàta, agus e a' sònrachadh an aon phrìomh iuchair a bha aig an artaigil a thathar a 'deasachadh. Mar sin tha adhbhar ann a bhith fo amharas gu bheil an duilgheadas a’ tachairt air taobh Bitrix. Rach don làrach-lìn aca agus cuir fios gu taic. Cha mhòr sa bhad gheibh sinn am freagairt “duilgheadas duilich. Thug e dha àrd innleadairean e - fuirich ..."

B’ fheudar dhomh feitheamh ùine mhòr (thachair an còmhradh gu lèir bho 25.06.2019/9.07.2019/10.4.6 gu XNUMX/XNUMX/XNUMX) agus b’ e an toradh an teachdaireachd “chan eil an duilgheadas seo co-cheangailte ri gnìomhachd Bitrix CMS, ach tha e co-cheangailte. gu gnìomhachd an stòr-dàta fhèin ann am mariadb XNUMX agus, gu mì-fhortanach, le taobh na làraich gus an duilgheadas seo fhuasgladh a dhìth, feumar imrich gu dreach nas sine de MariaDB. ”

Sheòl ... smaoinich mi air downgrade aig toiseach na sgeòil, ach an seo ann an dubh is gealnach urrainn ìsleachadh a bhith ann. Cuir còmhla dumps agus ath-shuidheachadh air frithealaiche a tha air ùr chuir a-steach. An fheadhainn sin. tha e math nach do dh'ùraich mi na frithealaichean gu lèir aig an aon àm. An fheadhainn sin. “dìreach” ceud làrach (gàire nearbhach :-)). Thuirt iad cuideachd mar thaic: “Gus an duilgheadas fhuasgladh nuair a bhios tu a’ cleachdadh stòr-dàta MariaDB 10.4.6, feumaidh tu fios a chuir gu taic theicnigeach MariaDB gus nach sguab an gnothach às clàr bhon stòr-dàta ma thèid iarrtas a dhèanamh:

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

Bha dòchas ann airson uair no dhà bhon mhionaid a thòisich sinn a’ conaltradh le taic MariaDB, ach an uairsin fhuair mi litir anns an deach innse dhomh gu fìor cheart nach e neach-cleachdaidh malairteach a bh’ annam agus mar sin cha bhiodh duine a dh’aona ghnothach a’ fuasgladh mo dhuilgheadas, ach tha fòram air an làrach-lìn aca agus faodaidh tu feuchainn ri roghainnean a lorg an sin ... cha toir mi mion-fhiosrachadh dhut. Chan eil roghainnean ann an sin.
AIRSON! Tha sinn air cead a cheannach airson ISP!
Halo, taic? Guys, cuidich!
- Duilich, chan eil sinn a’ toirt taic do thugs a dh’ atharraicheas dreachan dùthchasach den DBMS. Ma tha thu ag iarraidh, tha roghainn ann le frithealaiche eile ann an docker.
- Ach ciamar a gheibh luchd-cleachdaidh agus stòran-dàta ann? Gu docker?
- Uill, slaod tu an sin iad le do làmhan ...
- Tha! Agus na dìochuimhnich gun atharraich am port airson mysql agus feumaidh tu a dhol troimhe agus na configs gu lèir ath-sgrìobhadh.
Ok tapadh leat, smaoinichidh mi mu dheidhinn ...
Bha mi a 'smaoineachadh agus cho-dhùin mi 10.4 a leagail le làmhan-làimhe agus stàladh 10.2 leis nach robh duilgheadasan sam bith air frithealaichean eile.

Cha robh am pròiseas mòran eadar-dhealaichte bhon phròiseas ùrachadh. Cha robh ann ach 10.4 gu 10.2 atharrachadh anns a’ cheangal ris an ionad-tasgaidh, ath-shuidheachadh agus ath-chruthachadh an tasgadan airson yum. Uill, aon “trifle” eile: às deidh dhuinn 10.4 a thoirt air falbh, thèid sinn gu /var/lib/mysql agus sguabaidh sinn às a h-uile càil às an sin. Às aonais a 'cheum seo, an dèidh a bhith a' stàladh 10.2, bidh an t-seirbheis daonnan a 'tuiteam agus chì thu

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

No

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

Mus deach na stòran-dàta a thoirt a-steach, shuidhich mi an toiseach am facal-faire root mysql a chaidh a shònrachadh anns na rèiteachaidhean ISP agus thug mi a-steach dump stòr-dàta mysql. Uill, ma tha, leis gu bheil luchd-cleachdaidh agus còraichean ann mu thràth, bidh sinn dìreach a ’toirt a-steach na stòran-dàta luchd-cleachdaidh gu lèir ann an sreath leis a’ chunntas freumh.

Teacs sgriobt airson dumpadh stòr-dàta:

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

Mus cuir thu a-steach stòran-dàta, feumaidh tu an unzip. Mar sin dìreach ruith an àithne

gunzip /BACK/*.gz

Agus an rud mu dheireadh: airson adhbhar air choireigin, tha tàthan ceadaichte ann an ainmean stòr-dàta (ma chruthaicheas tu iad a’ cleachdadh ISPmanager). Ach nuair a bhios tu a’ cruthachadh no a’ feuchainn ri dump a luchdachadh suas gu stòr-dàta aig a bheil tàthan san ainm, gheibh thu teachdaireachd gu bheil co-theacs na ceiste ceàrr.

Leugh gu deireadh na beannachdan uile. Tha mi duilich airson na cromagan as coltaiche nach eil eadar-dhealaichte - tha iad ann an trioblaid. Ma tha miannan ann airson moladh air a mhìneachadh gu bunaiteach, sgrìobh gu pearsanta oir tha eagal orm rudeigin a chall anns na beachdan. Agus na bi a’ mionnachadh cus - seo a’ chiad artaigil agam 🙂

UPD1:

Cha mhòr nach do dhìochuimhnich mi iomradh a thoirt air: fhad ‘s a bha mi a’ feuchainn ri fuasgladh fhaighinn air an duilgheadas gun a bhith ag ìsleachadh MariaDB, bha agam ri dòigh air choireigin am fiosrachadh ùrachadh. Chaidh ùrachadh mar seo: tha an stòr-dàta gu lèir air a thionndadh bho InnoDB gu MyISAM, tha infa air ùrachadh agus an uairsin air a thionndadh air ais gu InooDB.
UPD2:

Dìreach air litir fhaighinn bho 1C-Bitrix leis an t-susbaint a leanas:

Iarrtas ath-sgrùdaidh crìochnaichte
"An dèidh mariadb ùrachadh gu 10.4.6, thachair mearachd nuair a chaidh an eileamaid infoblock a shàbhaladh"
Modal: iblock, dreach: neo-aithnichte
Fuasgladh: air a dhiùltadh

Mar sin airson a-nis, a rèir choltais tha e do-dhèanta ùrachadh gu 10.4 🙁

Source: www.habr.com

Cuir beachd ann