Bitrix සහ MariaDB නවතම ස්ථාවර අනුවාදයට යාවත්කාලීන කරයි

සුභ දවසක්, හිතවත් Khabrovsk පදිංචිකරුවන්! මට මාව හඳුන්වා දෙන්න, ඇලෙක්සැන්ඩර්. එක් කුඩා නමුත් සාඩම්බර WEB චිත්‍රාගාරයක පද්ධති පරිපාලක. සෑම දෙයක්ම ඉක්මනින්, ආරක්ෂිතව සහ නවතම මෘදුකාංග සමඟ වැඩ කිරීමට අපට ඇත්තෙන්ම අවශ්‍යයි. මෙය සිදු කිරීම සඳහා, අපි intra-office පරිගණකයේ nagios+PhantomJS බණ්ඩලය ස්ථාපනය කර සෑම විනාඩි 30 කට වරක් පිටු පැටවීමේ වේගය පරීක්ෂා කරන්න. සේවා කොන්දේසි වලට අනුව, අපි 1C-Bitrix යාවත්කාලීනයන් නිරීක්ෂණය කර ඒවා නිතිපතා ස්ථාපනය කරමු. ඉන්පසුව එක් දිනක්, ඊළඟ යාවත්කාලීන කිරීමෙන් පසු, 2019 ගිම්හානයේ සිට, 1C-Bitrix MySQL 5.5 සමඟ වැඩ කිරීම නවත්වන අතර අපි යාවත්කාලීන කළ යුතු බවට පණිවිඩයක් පරිපාලක පැනලයේ අපි දකිමු. ISPSystem හි පිරිමි ළමයින් කඩවසම් වන අතර පැනලයේ ක්‍රියාකාරිත්වය නිතිපතා පුළුල් කරයි, ඒ සඳහා ඔවුන්ට විශේෂ ස්තූතිය පුද කරයි. ඒත් මේ පාර මවුස් එකෙන් ඔක්කොම ක්ලික් කරන්න බැරි වුණා. නමුත් ඔබට සිදු වූයේ කුමක්ද සහ කප්පාදුව යට මගේ රැවුලේ අළු හිසකෙස් කීයක් තිබේද යන්න ඔබට සොයාගත හැකිය.

ඩොකර් කන්ටේනරයක ස්ථාපනය කර ඇති “විකල්ප DBMS සේවාදායකයක්” ස්ථාපනය කිරීමට විකල්පයක් පමණක් තිබුණි. ඇත්ත වශයෙන්ම, Docker සම්පත් සමඟ ඉතා අරපිරිමැස්මෙන් කටයුතු කරන බව මට වැටහෙනවා, නමුත් එය කෙතරම් විශිෂ්ට ලෙස ක්‍රියා කළත්, පොදු කාර්ය තවමත් >0 වනු ඇත. මෙන්න අපි තත්පර දහයෙන් පංගුවකින් සටන් කරන බව පෙනේ, ඒවා ප්‍රකාශයට පත් කිරීමට සහ ගිවිසුමක් අත්සන් කිරීමට පෙර පිවිසුමේ ඇති සියලුම අඩවි ප්‍රශස්තිකරණය කරයි. එබැවින් මගේ විකල්පය නොවේ.
හරි, ලියකියවිලි පවසන්නේ කුමක්ද? සියල්ල උපස්ථ කර, MariaDB ගබඩාවට සබැඳියක් සමඟ yum.repos.d වෙත ගොනුවක් එක් කරන්න, ඉන්පසු

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

යමෙක් ඔහුගේ අනුදැනුමකින් තොරව පැකේජ මකා දැමූ බවට Yum පසුව දිවුරනු ඇත. නමුත් පළමුවෙන්ම, ඔහුට දිවුරන්න ඉඩ දෙන්න, එය කමක් නැත. දෙවනුව, ඔබ 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 සිට 10.4.6 ජූලි XNUMX දක්වා සිදු විය) සහ එහි ප්‍රතිඵලය වූයේ “මෙම ගැටලුව Bitrix CMS හි ක්‍රියාකාරිත්වයට සම්බන්ධ නොවේ, නමුත් එය සම්බන්ධ වන්නේ mariadb XNUMX හි දත්ත සමුදායේ ක්‍රියාකාරිත්වය සහ, අවාසනාවකට, වෙබ් අඩවියේ පැත්තෙන්, මෙම ගැටළුව විසඳීමට ක්‍රමයක් නොමැත; ඔබට 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"]);”

මා මාරියාඩීබී සහාය සමඟ සන්නිවේදනය කිරීමට පටන් ගත් මොහොතේ සිට පැය කිහිපයක් බලාපොරොත්තුව දිලිසෙන නමුත් පසුව මට ලිපියක් ලැබුණි, එහිදී ඔවුන් මට ඉතා නිවැරදිව පැවසූ ලිපියේ මම වාණිජ පරිශීලකයෙකු නොවන බවත්, එබැවින් කිසිවෙකු මගේ ගැටලුව විශේෂයෙන් විසඳන්නේ නැති බවත්, නමුත් තිබේ. ඔවුන්ගේ වෙබ් අඩවියේ සංසදයක් සහ එහිදී ඔබට විකල්ප සෙවීමට උත්සාහ කළ හැකිය ... මම ඔබට විස්තර සමඟ කම්මැලි නොවෙමි. එහි විකල්ප නොමැත.
ගැන! අපි 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

දත්ත සමුදායන් ආනයනය කිරීමට පෙර, මම මුලින්ම ISP configs හි සඳහන් කර ඇති mysql සඳහා root මුරපදය සකසා mysql දත්ත සමුදා ඩම්ප් ආනයනය කළෙමි. හොඳයි, එසේ නම්, අපට දැනටමත් පරිශීලකයින් සහ අයිතිවාසිකම් ඇති බැවින්, අපි හුදෙක් root ගිණුම භාවිතයෙන් පේළියක ඇති සියලුම පරිශීලක දත්ත සමුදායන් ආයාත කරමු.

දත්ත සමුදා ඩම්ප් සඳහා ස්ක්‍රිප්ට් පෙළ:

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

දත්ත සමුදායන් ආනයනය කිරීමට පෙර, ඔබ ඒවා unzip කිරීමට අවශ්ය වේ. එබැවින් අපි විධානය ක්‍රියාත්මක කරමු

gunzip /BACK/*.gz

සහ අවසාන වශයෙන්: කිසියම් හේතුවක් නිසා, දත්ත සමුදායේ නාමයෙන් හයිෆන්ස් අවසර දෙනු ලැබේ (ඔබ එය ISPmanager හරහා නිර්මාණය කරන්නේ නම්). නමුත් ඔබ ඩම්ප් එකක් නිර්මාණය කරන විට හෝ එහි නමෙහි හයිෆනයක් ඇති දත්ත ගබඩාවකට උඩුගත කිරීමට උත්සාහ කරන විට, ඔබට ඉල්ලීම් වාක්‍ය ඛණ්ඩය වැරදි බවට පණිවිඩයක් ලැබේ.

අවසානය දක්වා කියවන අයට සුබ පැතුම්. බොහෝ දුරට අස්ථානගත වූ කොමා සඳහා මම සමාව අයදිමි - ඒවා ගැටලුවකි. විස්තර කර ඇති දේවල සාරය සම්බන්ධයෙන් ඔබට කිසියම් යෝජනා තිබේ නම්, අදහස් දැක්වීමේදී මට යමක් මග හැරේ යැයි මම බිය වන නිසා පුද්ගලික පණිවිඩයක ලියන්න. වැඩිපුර දිවුරන්න එපා - මෙය මගේ පළමු ලිපියයි :)

UPD1:

මට සඳහන් කිරීමට පාහේ අමතක විය: මම MariaDB පහත හෙලීමකින් තොරව ගැටලුවට විසඳුමක් සෙවීමට උත්සාහ කරන අතරතුර, මට කෙසේ හෝ තොරතුරු යාවත්කාලීන කිරීමට සිදු විය. එය මේ ආකාරයට යාවත්කාලීන කර ඇත: සම්පූර්ණ දත්ත සමුදාය InnoDB සිට MyISAM වෙත පරිවර්තනය කර, තොරතුරු යාවත්කාලීන කර නැවත InooDB වෙත පරිවර්තනය වේ.
UPD2:

මට 1C-Bitrix වෙතින් පහත අන්තර්ගතය සහිත ලිපියක් ලැබුණි:

සංශෝධනය සඳහා වූ ඉල්ලීම සම්පූර්ණ කරන ලදී
"mariadb 10.4.6 වෙත උත්ශ්‍රේණි කිරීමෙන් පසුව, infoblock මූලද්‍රව්‍ය සුරැකීමේදී දෝෂයක් ඇති විය"
මොඩියුලය: අයිබ්ලොක්, අනුවාදය: නොදනී
විසඳුම: ප්රතික්ෂේප කරන ලදී

එබැවින් දැනට 10.4 වෙත යාවත්කාලීන කිරීම කළ නොහැක්කකි

මූලාශ්රය: www.habr.com

අදහස් එක් කරන්න