์ข์ ํ๋ฃจ ๋์ธ์, Khabrovites ์ฌ๋ฌ๋ถ! ๋ ์์ ์ ์๊ฐํ๊ฒ ์ต๋๋ค, ์๋ ์ฐ๋. ์์ง๋ง ์๋์ค๋ฌ์ด ์น์คํ๋์ค์ ์์คํ
๊ด๋ฆฌ์์
๋๋ค. ์ฐ๋ฆฌ๋ ๋ชจ๋ ๊ฒ์ด ๋น ๋ฅด๊ณ ์์ ํ๋ฉฐ ์๋ก์ด ์ํํธ์จ์ด๋ก ์๋ํ๊ธฐ๋ฅผ ์ ๋ง๋ก ์ํฉ๋๋ค. ์ด๋ฅผ ์ํด ์ฌ๋ด ์ปดํจํฐ์ nagios+PhantomJS ๋ฒ๋ค๊น์ง ์ฌ๋ฆฌ๊ณ 30๋ถ๋ง๋ค ํ์ด์ง ๋ก๋ฉ ์๋๋ฅผ ํ์ธํ๋ค. ์๋น์ค ์ฝ๊ด์ ๋ฐ๋ผ 1C-Bitrix ์
๋ฐ์ดํธ๋ ๋ชจ๋ํฐ๋งํ๊ณ ์ ๊ธฐ์ ์ผ๋ก ์ค์นํฉ๋๋ค. ๊ทธ๋ฌ๋ ์ด๋ ๋ ๋ค์ ์
๋ฐ์ดํธ ํ ๊ด๋ฆฌ์ ํจ๋์ 2019๋
์ฌ๋ฆ๋ถํฐ 1C-Bitrix๊ฐ MySQL 5.5์์ ์๋์ ์ค์งํ๊ณ ์
๋ฐ์ดํธ๊ฐ ํ์ํ๋ค๋ ๋ฉ์์ง๊ฐ ํ์๋ฉ๋๋ค. ISPSystem์ ์ฌ๋๋ค์ ์์๊ฒผ๊ณ ์ ๊ธฐ์ ์ผ๋ก ํจ๋์ ๊ธฐ๋ฅ์ ํ์ฅํ๋๋ฐ ํน๋ณํ ๊ฐ์ฌ๋ฅผ ๋๋ฆฝ๋๋ค. ๊ทธ๋ฌ๋ ์ด๋ฒ์๋ ๋ง์ฐ์ค๋ก ๋ชจ๋ ๊ฒ์ ํด๋ฆญํ ์ ์์์ต๋๋ค. ๊ทธ๋ฌ๋ ๋ฌด์จ ์ผ์ด ์์๊ณ ์ง๊ธ ๋ด ์์ผ์ ์ผ๋ง๋ ๋ง์ ํฐ๋จธ๋ฆฌ๊ฐ ์๋์ง ์ปท ์๋์์ ์ฐพ์ ์ ์์ต๋๋ค.
Docker ์ปจํ
์ด๋์ ์ค์น๋ "๋์ฒด 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๋ XNUMX์ XNUMX์ผ๊น์ง ์งํ๋์์ต๋๋ค) ๊ฒฐ๊ณผ๋ โ์ด ๋ฌธ์ ๋ Bitrix CMS์ ์๋๊ณผ ๊ด๋ จ์ด ์์ง๋ง mariadb XNUMX์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ฒด์ ์๋์ ์ํฅ์ ๋ฏธ์น๋ฉฐ ์ํ๊น๊ฒ๋ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ฌ์ดํธ๊ฐ ์๊ธฐ ๋๋ฌธ์ ์ด์ ๋ฒ์ ์ MariaDB๋ก ๋ง์ด๊ทธ๋ ์ด์ ํด์ผ ํฉ๋๋ค.โ
ํญํด ... ์ด์ผ๊ธฐ ์ด๋ฐ์ ๋ค์ด ๊ทธ๋ ์ด๋๋ฅผ ์๊ฐํ์ง๋ง
$DB->Query("DELETE FROM ".$strTable." WHERE ID = ".$res["ID"]);
$results = $DB->Query("SELECT * FROM ".$strTable." WHERE ID = ".$res["ID"]);โ
์ฐ๋ฆฌ๊ฐ MariaDB ์ง์๊ณผ ์์ฌ ์ํต์ ์์ํ ์๊ฐ๋ถํฐ ๋ช ์๊ฐ ๋์ ํฌ๋ง์ด ํฌ๋ฏธํด์ก์ง๋ง ๋๋ ์์
์ ์ฌ์ฉ์๊ฐ ์๋๋ฏ๋ก ์๋ฌด๋ ์๋์ ์ผ๋ก ๋ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ง ์๋๋ค๋ ๋งค์ฐ ์ ํํ ์ ๋ณด๋ฅผ ๋ฐ์ ํธ์ง๋ฅผ ๋ฐ์์ต๋๋ค. ์น ์ฌ์ดํธ์ ํฌ๋ผ์์ ์ต์
์ ์ฐพ์๋ณผ ์ ์์ต๋๋ค. ์์ธํ ๋ด์ฉ์ ์ง๋ฃจํ์ง ์์ต๋๋ค. ๊ฑฐ๊ธฐ์๋ ์ต์
์ด ์์ต๋๋ค.
์ ๋ํ! 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 ๊ตฌ์ฑ์ ์ง์ ๋ 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์ผ๋ก ๋ณํ๋๊ณ infa๊ฐ ์
๋ฐ์ดํธ๋ ๋ค์ ๋ค์ InooDB๋ก ๋ณํ๋ฉ๋๋ค.
UPD2 :
1C-Bitrix๋ก๋ถํฐ ๋ค์ ๋ด์ฉ์ด ํฌํจ๋ ํธ์ง๋ฅผ ๋ฐ์์ต๋๋ค.
์์ ์์ฒญ ์๋ฃ
"mariadb๋ฅผ 10.4.6์ผ๋ก ์ ๋ฐ์ดํธํ ํ infoblock ์์๋ฅผ ์ ์ฅํ ๋ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ต๋๋ค."
๋ชจ๋: iblock, ๋ฒ์ : ์ ์ ์์
ํด๊ฒฐ์ฑ : ๊ฑฐ๋ถ๋จ
๋ฐ๋ผ์ ํ์ฌ๋ก์๋ 10.4๋ก ์
๋ฐ์ดํธํ๋ ๊ฒ์ด ๋ถ๊ฐ๋ฅํ ๊ฒ ๊ฐ์ต๋๋ค. ๐
์ถ์ฒ : habr.com