Bitrix او MariaDB وروستي باثباته نسخه ته تازه کوي

ښه ورځ، ګرانو Khabrovsk اوسیدونکو! اجازه راکړئ خپل ځان معرفي کړم، الکساندر. د یو کوچني مګر ویاړلي ویب سټوډیو سیسټم مدیر. موږ واقعیا غواړو چې هرڅه په ګړندي ، خوندي او وروستي سافټویر سره کار وکړي. د دې کولو لپاره، موږ حتی د دفتر دننه کمپیوټر کې د ناګیوس + فینټم جے ایس بنډل نصب کړی او په هر 30 دقیقو کې د پاڼې د پورته کولو سرعت وګورئ. د خدماتو شرایطو سره سم، موږ د 1C-Bitrix تازه معلومات هم څارو او په منظم ډول یې نصب کوو. او بیا یوه ورځ ، د راتلونکي تازه کولو وروسته ، موږ په اډمین پینل کې یو پیغام ګورو چې د 2019 دوبي راهیسې ، 1C-Bitrix د MySQL 5.5 سره کار کول بندوي او موږ اړتیا لرو چې تازه کړو. د ISPS سیسټم هلکان ښکلي دي او په منظم ډول د پینل فعالیت پراخوي، د دې لپاره چې د دوی څخه ځانګړې مننه. مګر دا ځل دا ممکنه نه وه چې هر څه د موږک سره کلیک وکړئ. مګر تاسو کولی شئ معلومه کړئ چې څه پیښ شوي او اوس زما په ږیره کې څومره خړ ویښتان د کټ لاندې دي.

د "بدیل DBMS سرور" نصبولو لپاره یوازې یو اختیار شتون درلود چې په ډاکر کانټینر کې نصب شوی. البته ، زه پوهیږم چې ډاکر د سرچینو سره خورا ګړندی دی ، مګر مهمه نده چې دا څومره عالي کار کوي ، سر به لاهم > 0 وي. او دلته موږ داسې بریښي چې په لسمه ثانیو کې جګړه کوو او د خپریدو او تړون لاسلیک کولو دمخه په ننوتلو کې ټول سایټونه اصلاح کوو. نو زما اختیار نه دی.
ښه، اسناد څه وايي؟ هرڅه بیک اپ کړئ ، د ماریا ډی بی ذخیره کولو لینک سره yum.repos.d ته فایل اضافه کړئ ، بیا

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

یم به وروسته قسم وکړي چې یو چا د هغه د پوهې پرته کڅوړې حذف کړې. مګر له هرڅه دمخه ، اجازه راکړئ چې قسم وخوري ، دا سمه ده. او دوهم ، که تاسو د یوم له لارې حذف کول ترسره کوئ ، نو دا هڅه کوي د 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 څخه تر 10.4.6 جوالی، XNUMX پورې ترسره شوې) او پایله یې دا پیغام و چې "دا ستونزه د Bitrix CMS عملیاتو پورې اړه نلري، مګر د دې سره تړاو لري. پخپله د ډیټابیس عملیات په mariadb XNUMX کې او له بده مرغه، د سایټ اړخ سره، د دې ستونزې د حل کولو لپاره هیڅ لاره نشته؛ تاسو به د ماریا ډی بی پخوانی نسخه ته لاړ شئ."

دوی راغلل ... ما د کیسې په پیل کې د ښکته کیدو په اړه فکر کاوه، مګر دا په تور او سپین کې واييچې هیڅ ډول ښکته نشي. ډمپ ډمپ کړئ او په بشپړ ډول نصب شوي سرور کې بیا ځای په ځای کړئ. هغوی. دا ښه ده چې ما ټول سرورونه په یو وخت کې تازه نه کړل. هغوی. "یوازې" سل سایټونه (عصبي خندا :-)). ملاتړ دا هم وویل: "د ستونزې حل کولو لپاره کله چې د MariaDB 10.4.6 ډیټابیس کاروئ ، تاسو اړتیا لرئ د MariaDB تخنیکي ملاتړ سره اړیکه ونیسئ چې معامله به د ډیټابیس څخه ریکارډ حذف نکړي که غوښتنه وشي:

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

امید د هغه شیبې څخه د څو ساعتونو لپاره روښانه شو چې ما د ماریا ډی بی ملاتړ سره اړیکه پیل کړه ، مګر بیا ما یو لیک ترلاسه کړ چې پکې دوی ما ته په سمه توګه وویل چې زه سوداګریز کارونکی نه یم او له همدې امله هیڅوک به زما ستونزه په ځانګړي ډول حل نه کړي ، مګر شتون لري. د دوی په ویب پا onه کې یو فورم او هلته تاسو کولی شئ د اختیارونو په لټه کې شئ ... زه به تاسو د توضیحاتو سره ستړي نه کړم. هلته هیڅ اختیار نشته.
په اړه! موږ د ISP جواز اخیستی!
- سلام، ملاتړ؟ هلکانو، مرسته وکړئ!
- بخښنه غواړو، موږ د هغو غلو ملاتړ نه کوو چې د DBMS اصلي نسخې بدلوي. که تاسو غواړئ، په ډاکر کې د بدیل سرور سره یو اختیار شتون لري.
- مګر کارونکي او ډیټابیس به څنګه هلته راشي؟ ډاکر ته؟
- ښه، تاسو دوی په خپلو لاسونو هلته کش کړئ ...
- هو! او مه هیروئ چې د mysql لپاره بندر به بدل شي او تاسو به اړتیا ولرئ د ټولو تشکیلاتو له لارې لاړشئ او بیا یې ولیکئ.
- ښه، مننه، زه به په دې اړه فکر وکړم ...
ما د دې په اړه فکر وکړ او پریکړه یې وکړه چې په لاسي ډول 10.4 تخریب کړم او 10.2 نصب کړم چې ورسره په نورو سرورونو کې کومه ستونزه شتون نلري.

پروسه د تازه کولو پروسې څخه ډیر توپیر نه درلود. ما یوازې د ذخیره کولو لینک کې 10.4 ته 10.2 بدل کړی و ، د یوم لپاره کیچ بیا تنظیم او بیا رامینځته کړی و. ښه، یو بل "کوچنی شی": د 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 ته بدل شوی، معلومات تازه شوي او بیا بیرته InooDB ته بدل شوي.
UPD2:

ما یوازې د لاندې مینځپانګې سره د 1C-Bitrix څخه یو لیک ترلاسه کړ:

د بیاکتنې غوښتنه بشپړه شوه
"د mariadb 10.4.6 ته لوړولو وروسته، د انفو بلاک عنصر خوندي کولو پر مهال یوه تېروتنه رامنځته شوه"
ماډل: iblock، نسخه: نامعلوم
حل: رد شوی

نو د اوس لپاره 10.4 ته تازه کول په ښکاره ډول ناممکن دي 🙁

سرچینه: www.habr.com

Add a comment