Bitrix మరియు MariaDB తాజా స్థిరమైన సంస్కరణకు నవీకరించబడ్డాయి

మంచి రోజు, ప్రియమైన ఖబ్రోవ్స్క్ నివాసితులు! నన్ను నేను పరిచయం చేసుకోనివ్వండి, అలెగ్జాండర్. ఒక చిన్న కానీ గర్వించదగిన WEB స్టూడియో యొక్క సిస్టమ్ అడ్మినిస్ట్రేటర్. ప్రతిదీ త్వరగా, సురక్షితంగా మరియు తాజా సాఫ్ట్‌వేర్‌తో పని చేయాలని మేము నిజంగా కోరుకుంటున్నాము. దీన్ని చేయడానికి, మేము ఇంట్రా-ఆఫీస్ కంప్యూటర్‌లో nagios+PhantomJS బండిల్‌ను ఇన్‌స్టాల్ చేసాము మరియు ప్రతి 30 నిమిషాలకు పేజీ లోడింగ్ వేగాన్ని తనిఖీ చేస్తాము. సేవా నిబంధనల ప్రకారం, మేము 1C-Bitrix నవీకరణలను కూడా పర్యవేక్షిస్తాము మరియు వాటిని క్రమం తప్పకుండా ఇన్‌స్టాల్ చేస్తాము. ఆపై ఒక రోజు, తదుపరి నవీకరణ తర్వాత, నిర్వాహక ప్యానెల్‌లో 2019 వేసవి నుండి, 1C-Bitrix MySQL 5.5తో పనిచేయడం ఆపివేస్తుంది మరియు మేము అప్‌డేట్ చేయాల్సి ఉంటుందని సందేశాన్ని చూస్తాము. ISPSసిస్టమ్‌లోని అబ్బాయిలు అందంగా ఉంటారు మరియు ప్యానెల్ యొక్క కార్యాచరణను క్రమం తప్పకుండా విస్తరింపజేస్తారు, దీనికి వారికి ప్రత్యేక ధన్యవాదాలు. కానీ ఈసారి మౌస్‌తో అన్నింటినీ క్లిక్ చేయడం సాధ్యం కాలేదు. కానీ కట్ కింద నా గడ్డంలో ఇప్పుడు ఏమి జరిగిందో మరియు ఎన్ని బూడిద వెంట్రుకలు ఉన్నాయో మీరు కనుగొనవచ్చు.

డాకర్ కంటైనర్‌లో ఇన్‌స్టాల్ చేయబడిన “ప్రత్యామ్నాయ DBMS సర్వర్”ని ఇన్‌స్టాల్ చేసే ఎంపిక మాత్రమే ఉంది. వాస్తవానికి, డాకర్ వనరులతో చాలా పొదుపుగా ఉంటుందని నేను అర్థం చేసుకున్నాను, కానీ అది ఎంత గొప్పగా పనిచేసినా, ఓవర్‌హెడ్ ఇప్పటికీ >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']

సైట్‌లోని కంటెంట్ మా స్వంత ఉద్యోగులచే జోడించబడినందున, క్లయింట్‌లకు ఇంకా ఏమీ తెలియదు మరియు ఇంకా మమ్మల్ని విడదీయడం ప్రారంభించలేదు. కానీ ఇది సమయం యొక్క విషయం, ఎందుకంటే సైట్‌లలోని సమాచారం నవీకరించబడాలి మరియు చాలా మంది క్లయింట్లు దీనిని స్వయంగా పర్యవేక్షిస్తారు.

లోపం యొక్క వచనం నుండి, బిట్రిక్స్ సవరించబడుతున్న కథనంలో ఉన్న అదే ప్రాథమిక కీని పేర్కొంటూ డేటాబేస్కు కొత్త ఎంట్రీని జోడించడానికి ప్రయత్నిస్తోందని మేము నిర్ధారించగలము. దీని అర్థం బిట్రిక్స్ వైపు సమస్య తలెత్తుతుందని అనుమానించడానికి కారణం ఉంది. మేము వారి వెబ్‌సైట్‌కి వెళ్లి మద్దతును సంప్రదించండి. దాదాపు వెంటనే మనకు “క్లిష్టమైన సమస్య” అనే సమాధానం వస్తుంది. సీనియర్ ఇంజనీర్లకు ఇచ్చాను - ఆగండి..."

మేము చాలా కాలం వేచి ఉండాల్సి వచ్చింది (మొత్తం డైలాగ్ జూన్ 25.06.2019, 9.07.2019 నుండి జూలై 10.4.6, XNUMX వరకు జరిగింది) మరియు ఫలితం “ఈ సమస్య Bitrix CMS యొక్క ఆపరేషన్‌కు సంబంధించినది కాదు, కానీ దీనికి సంబంధించినది mariadb XNUMXలో డేటాబేస్ యొక్క ఆపరేషన్ మరియు, దురదృష్టవశాత్తు, సైట్ వైపు, ఈ సమస్యను పరిష్కరించడానికి మార్గం లేదు; మీరు MariaDB యొక్క పాత సంస్కరణకు మారవలసి ఉంటుంది.

వాళ్లు వచ్చారు... కథ మొదట్లో డౌన్‌గ్రేడ్ గురించి అనుకున్నాను కానీ అది నలుపు మరియు తెలుపులో చెప్పిందిడౌన్ గ్రేడ్ ఉండదని. పూర్తిగా ఇన్‌స్టాల్ చేయబడిన సర్వర్‌లో డంప్‌లను డంప్ చేయండి మరియు మళ్లీ అమలు చేయండి. ఆ. నేను అన్ని సర్వర్‌లను ఒకేసారి అప్‌డేట్ చేయకపోవడం విశేషం. ఆ. "మాత్రమే" వంద సైట్లు (నాడీ నవ్వు :-)). మద్దతు కూడా ఇలా చెప్పింది: “మరియాడిబి 10.4.6 డేటాబేస్‌ని ఉపయోగిస్తున్నప్పుడు సమస్యను పరిష్కరించడానికి, మీరు మరియాడిబి సాంకేతిక మద్దతును సంప్రదించాలి, అభ్యర్థన చేసినట్లయితే లావాదేవీ డేటాబేస్ నుండి రికార్డ్‌ను తొలగించదు:

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

నేను మరియాడిబి సపోర్ట్‌తో కమ్యూనికేట్ చేయడం ప్రారంభించిన క్షణం నుండి రెండు గంటలపాటు ఆశ మెరుస్తోంది, కాని అప్పుడు నాకు ఒక లేఖ వచ్చింది, అందులో నేను వాణిజ్య వినియోగదారుని కాదని, అందువల్ల నా సమస్యను ఎవరూ ఉద్దేశపూర్వకంగా పరిష్కరించరని వారు నాకు చాలా సరిగ్గా చెప్పారు, కానీ అక్కడ ఉంది వారి వెబ్‌సైట్‌లో ఒక ఫోరమ్ మరియు అక్కడ మీరు ఎంపికల కోసం వెతకడానికి ప్రయత్నించవచ్చు ... నేను మీకు వివరాలతో విసుగు చెందను. అక్కడ ఎంపికలు లేవు.
గురించి! మేము ISP లైసెన్స్‌ని కొనుగోలు చేసాము!
- హలో, మద్దతు? గైస్, సహాయం!
— క్షమించండి, DBMS యొక్క స్థానిక సంస్కరణలను మార్చే స్కమ్‌బాగ్‌లకు మేము మద్దతు ఇవ్వము. మీకు కావాలంటే, డాకర్‌లో ప్రత్యామ్నాయ సర్వర్‌తో ఒక ఎంపిక ఉంది.
— అయితే వినియోగదారులు మరియు డేటాబేస్‌లు ఎలా వస్తాయి? డాకర్ చేయడానికి?
- సరే, మీరు వాటిని మీ చేతులతో అక్కడికి లాగండి...
- అవును! మరియు 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 కోసం రూట్ పాస్‌వర్డ్‌ను సెట్ చేసాను మరియు 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కి అప్‌గ్రేడ్ చేసిన తర్వాత, ఇన్ఫోబ్లాక్ ఎలిమెంట్‌ని సేవ్ చేస్తున్నప్పుడు ఎర్రర్ ఏర్పడింది"
మాడ్యూల్: ఐబ్లాక్, వెర్షన్: తెలియదు
పరిష్కారం: తిరస్కరించబడింది

కాబట్టి ప్రస్తుతానికి 10.4కి అప్‌డేట్ చేయడం అసాధ్యం 🙁

మూలం: www.habr.com

ఒక వ్యాఖ్యను జోడించండి