Bitrix sareng ngapdet MariaDB kana versi stabil panganyarna

Wilujeng siang, dear Khabrovites! Ngidinan kuring ngenalkeun diri, Alexander. Administrator sistem hiji leutik tapi bangga WEB-studio. Kami hoyong sadayana damel gancang, aman sareng nganggo parangkat lunak énggal. Jang ngalampahkeun ieu, kami malah ngangkat nagios + PhantomJS kebat dina komputer intra-kantor sarta unggal 30 menit urang pariksa speed loading kaca. Numutkeun kana syarat jasa, kami ogé ngawas apdet 1C-Bitrix sareng pasang sacara teratur. Teras hiji dinten, saatos pembaruan salajengna, urang ningali pesen dina panel admin anu nyatakeun yén saprak usum panas taun 2019, 1C-Bitrix lirén damel sareng MySQL 5.5 sareng kedah diropéa. Lalaki ti ISPSystem ganteng sareng rutin ngalegaan fungsionalitas panel, anu khusus hatur nuhun ka aranjeunna. Tapi waktos ieu teu mungkin pikeun klik sagalana jeung mouse. Tapi naon anu kajantenan sareng sabaraha rambut kulawu ayeuna dina janggot kuring tiasa dipendakan dina potongan.

Aya ngan ukur pilihan pikeun masang "server DBMS alternatif" anu dipasang dina wadah Docker. Tangtosna, kuring ngartos yén Docker pisan hemat sareng sumber daya, tapi henteu paduli kumaha hébatna, overhead bakal tetep > 0. Sareng di dieu kami, sapertos kitu, tarung dina sapuluh detik sareng ngaoptimalkeun sadaya situs di lawang sateuacan nyebarkeun sareng nandatanganan perjanjian. Jadi lain pilihan kuring.
Muhun, naon dina dokuméntasi? Cadangan sagalana, tambahkeun file kalawan tumbu ka Repository MariaDB mun yum.repos.d, lajeng

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

Yum salajengna bakal sumpah kanyataan yén aya anu ngaluarkeun bungkusan tanpa kanyahoan. Tapi mimitina - hayu anjeunna sumpah, teu kunanaon. Sareng kadua, upami anjeun ngahapus ngalangkungan yum, maka éta nyobian ngabongkar, sareng MariaDB, sadayana anu aya hubunganana sareng katergantungan, sareng ieu PHP sareng ISPManager sareng PHPmyadmin. Ku kituna urang bakal nungkulan bug engké.


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

Sacara umum, sagalana geus diatur sarta dimimitian. Hal anu saé nyaéta yén dasarna dijemput sareng henteu kedah dipulangkeun deui tina tempat sampah. Kuring pariksa situs - aranjeunna tiasa dianggo sareng gancang. Kuring angkat ka sababaraha panel admin pikeun mastikeun yén teu aya anu murag sareng teu ngalanggan ka sutradara yén sadayana OK. Dina kirang ti 30 menit, tétéla yén éta henteu OK pisan ...

Nalika kuring diusahakeun buka panel admin tur nambahkeun édit nanaon dina eusi, pesen murag kaluar

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

Kusabab eusi dina situs ieu ditambahkeun ku karyawan urang, para klien masih teu nyaho nanaon jeung teu acan mimiti luh kami eta. Tapi éta masalah waktu, sabab informasi dina loka perlu diropéa, sarta loba klien nuturkeun ieu raket pisan.

Tina téks kasalahan, urang tiasa nyimpulkeun yén Bitrix nyobian nambihan rékaman énggal kana pangkalan data, bari netepkeun konci primér anu sami sareng tulisan anu diédit. Janten aya alesan pikeun nyangka yén masalahna aya di sisi Bitrix. Buka ramatloka maranéhanana sarta kontak rojongan. Ampir langsung urang meunang jawaban "masalah hésé. Pasihkeun ka insinyur senior - antosan ... "

Kuring kedah ngantosan rada lami (sakabeh dialog lumangsung ti 25.06.2019/9.07.2019/10.4.6 ka XNUMX/XNUMX/XNUMX) sareng hasilna mangrupikeun pesen "masalah ieu henteu aya hubunganana sareng operasi Bitrix CMS, tapi aya hubunganana. kana operasi database sorangan dina mariadb XNUMX jeung, hanjakalna, jeung sisi situs pikeun ngajawab masalah ieu leungit, éta bakal perlu migrasi ka versi heubeul tina MariaDB.

Sailed ... Kuring mikir ngeunaan downgrade di awal carita, tapi didieu di hideung bodasyén moal aya downgrade. Ngagabung dumps na redeploy dina server anyar dipasang. Jelema. éta alus nu kuring teu ngamutahirkeun sakabeh server sakaligus. Jelema. "ngan" saratus situs (cuek gugup :-)). Éta ogé nyarios dina dukungan: "Pikeun ngabéréskeun masalah nalika nganggo pangkalan data MariaDB 10.4.6, anjeun kedah ngahubungi dukungan téknis MariaDB yén transaksi éta moal ngahapus rékaman tina pangkalan data upami aya pamundut:

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

Harepan glimmered sababaraha jam ti mimiti urang komunikasi sareng dukungan MariaDB, tapi teras kuring nampi surat dimana kuring leres-leres terang yén kuring sanés pangguna komérsial sahingga teu aya anu ngahaja ngabéréskeun masalah kuring, tapi aya forum dina website maranéhanana jeung anjeun bisa nyoba néangan pilihan di dinya… Kuring moal bosen anjeun kalawan rinci. Henteu aya pilihan di dinya.
Ngeunaan! Kami parantos mésér lisénsi pikeun ISP!
Halo, ngarojong? Lalaki, tulungan!
- Hapunten, kami henteu ngadukung preman anu ngarobih versi asli DBMS. Upami anjeun hoyong, aya pilihan sareng server alternatif dina docker.
- Tapi kumaha pangguna sareng pangkalan data bakal aya? Ka docker?
- Nya, anjeun nyered aranjeunna ka ditu ku panangan anjeun ...
- Leres! Sarta ulah poho yén port pikeun MySQL bakal robih sareng anjeun kedah ngaliwat sareng nyerat sadaya konfigurasi.
Oke hatur nuhun, kuring bakal mikir ngeunaan éta ...
Teu sangka sarta mutuskeun pikeun demolish 10.4 kalawan handles tur masang 10.2 kalawan nu teu aya masalah dina server séjén.

Prosésna teu jauh béda ti prosés pamutahiran. Ngan ieu diperlukeun pikeun ngarobah 10.4 ka 10.2 dina link ka Repository nu, ngareset jeung nyieun deui cache pikeun yum. Nya, hiji deui "trifle": saatos ngahapus 10.4, urang angkat ka /var/lib/mysql sareng mupus sadayana ti dinya. Tanpa léngkah ieu, saatos masang 10.2, jasa bakal terus ngadat sareng anjeun bakal ningali

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

atawa

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

Sateuacan ngimpor pangkalan data, kuring mimiti nyetél sandi root mysql anu ditunjuk dina konfigurasi ISP sareng ngimpor database mysql dump. Janten, kumargi parantos aya pangguna sareng hak, urang ngan saukur ngimpor sadaya pangkalan data pangguna sakaligus sareng akun akar.

Téks skrip pikeun dump database:

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

Sateuacan ngimpor pangkalan data, anjeun kedah unzip aranjeunna. Ku kituna ngan ngajalankeun paréntah

gunzip /BACK/*.gz

Sareng anu terakhir: pikeun sababaraha alesan, hyphens diidinan dina nami database (upami anjeun nyiptakeunana nganggo ISPmanager). Tapi nalika nyieun atawa nyoba unggah a dump kana database nu boga hyphen dina ngaran, anjeun meunang pesen yén sintaksis query lepat.

Baca nepi ka ahir sagala berkah. Hapunten pikeun koma anu paling dipikaresep henteu dipisahkeun - aranjeunna nuju kasulitan. Mun aya kahayang pikeun proposal dasarna dijelaskeun - nulis dina pribadi sabab dina komentar kuring sieun sono. Sareng ulah sumpah teuing - ieu mangrupikeun tulisan munggaran kuring 🙂

UPD1:

Kuring ampir poho nyebut: bari kuring nyobian pikeun manggihan solusi pikeun masalah tanpa downgrading MariaDB, kuring kudu kumaha bae ngamutahirkeun informasi. Éta diropéa sapertos kieu: sadayana pangkalan data dirobih tina InnoDB ka MyISAM, infa diropéa teras dirobih deui ka InooDB.
UPD2:

Nembé nampi surat ti 1C-Bitrix kalayan eusi ieu:

Paménta révisi réngsé
"Saatos ngamutahirkeun mariadb ka 10.4.6, aya kasalahan nalika nyimpen unsur infoblock"
modul: iblock, versi: kanyahoan
Solusi: ditolak

Janten pikeun ayeuna, sigana teu mungkin pikeun ngapdet ka 10.4 🙁

sumber: www.habr.com

Tambahkeun komentar