Bitrix ва навсозии MariaDB ба версияи охирини устувор

Руз ба хайр, хабровиёни азиз! Иҷозат диҳед худро муаррифӣ кунам, Александр. Администратори системаи як WEB-студияи хурд, вале ифтихор. Мо воқеан мехоҳем, ки ҳама чиз зуд, бехатар ва бо нармафзори нав кор кунад. Барои ин, мо ҳатто бастаи nagios + PhantomJS-ро дар компютери дохили офис баланд кардем ва ҳар 30 дақиқа суръати боркунии саҳифаро тафтиш мекунем. Тибқи шартҳои хидмат, мо инчунин навсозиҳои 1C-Bitrix-ро назорат мекунем ва онҳоро мунтазам насб мекунем. Ва он гоҳ як рӯз, пас аз навсозии навбатӣ, мо дар панели администратор паёмеро мебинем, ки аз тобистони соли 2019 1C-Bitrix кор бо MySQL 5.5-ро қатъ мекунад ва бояд навсозӣ шавад. Бачаҳо аз ISPSystem зебо ҳастанд ва мунтазам функсияҳои панелро васеъ мекунанд, ки барои ин ба онҳо ташаккури махсус медиҳанд. Аммо ин дафъа бо муш ҳама чизро пахш кардан имкон надошт. Аммо чӣ шуд ва ҳоло дар ришам чанд мӯйсафед ҳаст, аз зери бурида метавон ёфт.

Танҳо имкони насб кардани "сервери алтернативии DBMS", ки дар контейнери Docker насб шудааст, вуҷуд дошт. Албатта, ман мефаҳмам, ки Docker бо захираҳо хеле сарфакор аст, аммо новобаста аз он ки он чӣ қадар бузург кор мекунад, хароҷоти изофӣ ҳанӯз ҳам > 0 хоҳад буд. Ва инак, мо гӯё дар даҳҳо сония меҷангем ва пеш аз интишор ва имзои созишнома ҳама сайтҳоро дар даромадгоҳ оптимизатсия мекунем. Пас интихоби ман нест.
Хуб, дар ҳуҷҷатҳо чӣ гуфта шудааст? Ҳама чизро нусхабардорӣ кунед, файлро бо истинод ба анбори MariaDB ба yum.repos.d илова кунед, пас

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

Юм баъдан ба он кас савганд мехӯрад, ки касе бастаҳоро бе огоҳии ӯ дур кардааст. Аммо аввал - бигзор касам хӯрад, хуб аст. Ва дуюм, агар шумо ҳазфкуниро тавассути yum анҷом диҳед, он гоҳ кӯшиш мекунад, ки дар якҷоягӣ бо MariaDB, ҳама чизеро, ки вобаста ба он вобастаанд, вайрон кунад ва ин PHP ва ISPManager ва PHPmyadmin аст. Пас, мо баъдтар бо хатогиҳо мубориза хоҳем бурд.


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

Умуман, ҳама чиз танзим ва оғоз шуд. Чизи хуб дар он аст, ки пойгоҳҳо бардошта шуданд ва аз партовгоҳҳо барқарор кардани онҳо лозим набуд. Ман сайтҳоро тафтиш кардам - ​​онҳо зуд кор мекунанд. Ман ба якчанд панелҳои маъмурӣ рафтам, то боварӣ ҳосил кунам, ки ҳеҷ чиз наафтад ва ба директор обуна шудам, ки ҳама чиз хуб аст. Дар тӯли камтар аз 30 дақиқа маълум шуд, ки ин ҳатто тамоман хуб нест ...

Вақте ки ман кӯшиш кардам, ки ба панели администратор равам ва чизеро дар мундариҷа таҳрир кунам, паём нопадид шуд

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

Азбаски мундариҷаи сайт аз ҷониби кормандони мо илова карда мешавад, мизоҷон то ҳол чизе намедонистанд ва ҳанӯз моро аз ҳам ҷудо кардан нагирифтаанд. Аммо ин як масъалаи вақт буд, зеро маълумот дар сайтҳо бояд нав карда шавад ва бисёре аз муштариён инро хеле дақиқ пайгирӣ мекунанд.

Аз матни хато, мо метавонем хулоса барорем, ки Bitrix кӯшиши илова кардани сабти навро ба пойгоҳи додаҳо дар ҳолест, ки ҳамон калиди ибтидоиро, ки мақолаи таҳриршаванда дошт, нишон медиҳад. Ҳамин тавр, барои гумонбар шудан сабаб вуҷуд дорад, ки мушкилот дар тарафи Bitrix рух медиҳад. Ба вебсайти онҳо равед ва бо дастгирии дастгирӣ тамос гиред. Қариб дарҳол мо ҷавоби «масъалаи душворро мегирем. Онро ба муҳандисони калон доданд - интизор шавед ... "

Ба ман лозим омад, ки муддати тӯлонӣ интизор шавам (тамоми муколама аз 25.06.2019 то 9.07.2019 сурат гирифт) ва натиҷа паёми "ин мушкилот ба кори Bitrix CMS марбут нест, балки алоқаманд аст. ба кори худи махзани маълумот дар mariadb 10.4.6 ва мутаассифона, дар паҳлӯи сайт ин мушкилот барои ҳалли имкон мавҷуд нест, бояд ба версияи кӯҳнаи MariaDB гузаред."

Бо киштӣ ... Ман дар бораи паст кардани дараҷа дар оғози ҳикоя фикр мекардам, аммо дар ин ҷо дар сиёҳ ва сафедки ба паст шудани дарачаи баланд рох додан мумкин нест. Худпартоҳоро якҷоя кунед ва дар сервери нав насбшуда дубора ҷойгир кунед. Онхое. хуб аст, ки ман ҳама серверҳоро якбора навсозӣ накардаам. Онхое. "танҳо" сад сайт (ханди асабӣ :-)). Онҳо инчунин дар дастгирӣ гуфтанд: "Барои ҳалли мушкилот ҳангоми истифодаи пойгоҳи додаҳои MariaDB 10.4.6, шумо бояд ба дастгирии техникии MariaDB муроҷиат кунед, ки транзаксия сабтро аз пойгоҳи додаҳо нест намекунад, агар дархост пешниҳод карда шавад:

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

Умед чанд соат аз лаҳзаи муошират бо дастгирии MariaDB дурахшид, аммо баъд ман нома гирифтам, ки дар он ба ман хеле дуруст хабар дода шудам, ки ман корбари тиҷоратӣ нестам ва аз ин рӯ ҳеҷ кас ҳадафи маро ҳал намекунад, аммо вуҷуд дорад. як форум дар вебсайти онҳо ва шумо метавонед кӯшиш кунед, ки вариантҳоро дар он ҷо ҷустуҷӯ кунед ... Ман шуморо бо тафсилот дилгир намекунам. Дар он ҷо ягон вариант вуҷуд надорад.
ДАР БОРАИ! Мо барои ISP иҷозатнома харидем!
Салом, дастгири? Бачаҳо, кӯмак кунед!
- Бубахшед, мо авбошонеро, ки версияҳои аслии DBMS-ро иваз мекунанд, дастгирӣ намекунем. Агар шумо хоҳед, як вариант бо сервери алтернативӣ дар docker мавҷуд аст.
- Аммо чӣ гуна корбарон ва пойгоҳи додаҳо ба он ҷо хоҳанд расид? Ба докер?
- Хуб, шумо онҳоро бо дастони худ ба он ҷо мекашед ...
- Ҳа! Ва фаромӯш накунед, ки порт барои MySQL тағир хоҳад ёфт ва шумо бояд ҳамаи конфигуратсияҳоро гузаред ва аз нав нависед.
Хуб, ташаккур, ман дар ин бора фикр мекунам ...
Ман фикр кардам ва тасмим гирифтам, ки 10.4-ро бо дастаҳо вайрон кунам ва 10.2-ро насб кунам, ки бо он дар серверҳои дигар мушкилот вуҷуд надошт.

Раванд аз раванди навсозӣ чандон фарқ надошт. Танҳо лозим буд, ки аз 10.4 то 10.2 дар истиноди анбор иваз карда, кэшро барои yum аз нав танзим ва аз нав созед. Хуб, боз як "майда-чуйда": пас аз нест кардани 10.4, мо ба /var/lib/mysql меравем ва ҳама чизро аз он ҷо нест мекунем. Бе ин қадам, пас аз насб кардани 10.2, хадамот пайваста суқут мекунад ва шумо хоҳед дид

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

Ё

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

Пеш аз ворид кардани пойгоҳи додаҳо, ман аввал пароли решаи mysql-ро муқаррар кардам, ки дар конфигуратсияҳои ISP муайян шуда буд ва партови пойгоҳи додаҳои mysql-ро ворид кардам. Хуб, пас, азбаски аллакай корбарон ва ҳуқуқҳо мавҷуданд, мо танҳо ҳама пойгоҳи додаҳои корбарро дар як саф бо ҳисоби реша ворид мекунем.

Матни скрипт барои партови пойгоҳи додаҳо:

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

Пеш аз ворид кардани пойгоҳи додаҳо, шумо бояд онҳоро кушоед. Пас, танҳо фармонро иҷро кунед

gunzip /BACK/*.gz

Ва чизи охирин: бо баъзе сабабҳо, дефис дар номҳои пойгоҳи додаҳо иҷозат дода мешавад (агар шумо онҳоро бо истифода аз ISPmanager эҷод кунед). Аммо ҳангоми эҷод ё кӯшиши бор кардани партов ба пойгоҳи додаҳо, ки дар номаш дефис мавҷуд аст, шумо паёме мегиред, ки синтаксиси дархост нодуруст аст.

То охири тамоми баракатҳоро хонед. Ман барои вергулҳои фосилавӣ эҳтимолан узр мепурсам - онҳо дар мушкилӣ қарор доранд. Агар хоіишіои барои пешниіод ба таври мо тавсифшуда бошад - дар шахси шахс нависед, зеро дар тафсирњо ман метарсам, ки чизеро аз даст надињам. Ва аз ҳад зиёд қасам нахӯред - ин мақолаи аввалини ман аст 🙂

UPD1:

Ман ёдовар шуданро қариб фаромӯш кардам: дар ҳоле ки ман кӯшиш мекардам, ки бе паст кардани дараҷаи MariaDB роҳи ҳалли мушкилотро пайдо кунам, ман маҷбур будам, ки маълумотро навсозӣ кунам. Он чунин нав карда шуд: тамоми махзани маълумот аз InnoDB ба MyISAM табдил дода мешавад, infa нав карда мешавад ва сипас ба InooDB бармегардад.
UPD2:

Танҳо аз 1C-Bitrix нома бо мундариҷаи зерин гирифта шудааст:

Дархости бознигарӣ анҷом ёфт
"Пас аз навсозии mariadb ба 10.4.6, ҳангоми захира кардани унсури инфоблок хатогӣ ба амал омад"
Модул: iblock, версия: номаълум
Ҳалли: рад

Ҳамин тавр, ҳоло, аз афташ, ба 10.4 навсозӣ имконнопазир аст 🙁

Манбаъ: will.com

Илова Эзоҳ