ဆောင်းပါးလမ်းညွှန်
ဒေတာဘေ့စ်ကမ္ဘာဟာ ဘယ်တော့မှ ရပ်တန့်မနေပါဘူး။ စွမ်းဆောင်ရည်နဲ့ တည်ငြိမ်မှုကြားက ရုန်းကန်မှုတွေက နေ့စဉ်ဖြစ်ပွားနေတဲ့ ယမ်းမှုန့်မပါတဲ့ စစ်ပွဲတစ်ခုနဲ့ ပိုတူပါတယ်။
In HestiaCP တရုတ်နိုင်ငံတွင် MariaDB သည် မူရင်းဘာသာစကားကို အသုံးပြုသည်။ InnoDB သိုလှောင်မှုအင်ဂျင်တစ်ခုအနေနဲ့။
သို့သော်၊ log-type ဇယားများနှင့် ဖတ်ရှုရန်ခက်ခဲသော၊ ရေးသားရန်လွယ်ကူသော အပလီကေးရှင်းများကဲ့သို့သော အချို့သော အခြေအနေများတွင်၊Myisam ၎င်းက မကြာခဏဆိုသလို မေးခွန်းမြန်နှုန်း ပိုမိုမြန်ဆန်စေပြီး သိုလှောင်မှု ပိုမိုပေါ့ပါးစေပါသည်။
ဤဆောင်းပါးသည် HestiaCP ပတ်ဝန်းကျင်တွင် MariaDB ၏ default storage engine ကို MyISAM သို့ မည်သို့ဘေးကင်းစွာပြောင်းလဲရမည်ကို ပြသပေးမည်ဖြစ်ပြီး ပါဝင်ပတ်သက်သော အန္တရာယ်များနှင့် အကျိုးကျေးဇူးများကို ပြည့်စုံစွာ နားလည်စေမည်ဖြစ်သည်။
🔍 ဘာကြောင့် MyISAM ကို ပြောင်းသုံးသင့်တာလဲ။
MyISAM ရဲ့ အားသာချက်တွေကတော့ ပေါ့ပါးပြီး မြန်နှုန်းမြင့်တာပါပဲ။
read-only သို့မဟုတ် read-heavy/write-light အခြေအနေများတွင် ၎င်း၏ query စွမ်းဆောင်ရည်သည် InnoDB ထက် မကြာခဏ ပိုမိုမြန်ဆန်ပါသည်။
MariaDB ရဲ့ တရားဝင် စာရွက်စာတမ်းအရ "MyISAM ဟာ non-transactional application တွေမှာ အလွန်ကောင်းမွန်စွာ လုပ်ဆောင်နိုင်ပြီး log နဲ့ cache table တွေအတွက် အထူးသင့်လျော်ပါတယ်။" (ရင်းမြစ်- MariaDB Knowledge Base)
ထို့အပြင် MyISAM ၏ ဇယားဖိုင်ဖွဲ့စည်းပုံသည် လွယ်ကူပြီး migration နှင့် backup များသည် အလွန်အဆင်ပြေပါသည်။
သို့သော်၊ ၎င်း၏ အားနည်းချက်များမှာ ထင်ရှားပါသည်- ၎င်းသည် ငွေပေးငွေယူများနှင့် foreign key များကို မပံ့ပိုးပါ၊ ထို့အပြင် ၎င်း၏ data security သည် InnoDB လောက် မကောင်းပါ။
ဆိုလိုတာက သင်ဟာ တကယ်လို့လျှပ်စစ်ထောက်ပံ့ဝဘ်ဆိုက်များ သို့မဟုတ် ငွေကြေးစနစ်များတွင် MyISAM ကိုအသုံးပြုခြင်းသည် ငွေပေးငွေယူပံ့ပိုးမှုမရှိခြင်းကြောင့် ဒေတာတသမတ်တည်းဖြစ်မှုပြဿနာများကို ဖြစ်ပေါ်စေနိုင်သည်။
ထို့ကြောင့် MyISAM သို့ပြောင်းရန်၊ မပြောင်းရန်ကို တကယ့် application အခြေအနေပေါ် မူတည်၍ ဆုံးဖြတ်ရန် လိုအပ်ပါသည်။
🛠️ ပြုပြင်မွမ်းမံမှု အဆင့်ဆင့်
စီစဉ်သတ်မှတ်မှုဖိုင်ကို ဖွင့်ပါ
HestiaCP ပတ်ဝန်းကျင်တွင်၊ MariaDB အတွက် အဓိက configuration ဖိုင်သည် အောက်ပါတွင် တည်ရှိသည်။
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
တည်းဖြတ်ရတာ ပိုကျင့်သားရနေရင် /etc/mysql/my.cnf ၎င်းသည်လည်း ဖြစ်နိုင်သော်လည်း ယေဘုယျအားဖြင့် အကြံပြုထားသည်မှာ... 50-server.cnf လီဂိုင်း။
In [mysqld] စာပိုဒ်သို့ ကန့်သတ်ချက်များထည့်ပါ
ပြန်ရသည် [mysqld] အောက်ပါတို့ကို စာပိုဒ်ထဲသို့ ထည့်ပါ-
[mysqld]
default-storage-engine=MyISAM
အခြား parameter တွေ ရှိပြီးသားဆိုရင် အောက်က line ကို ထည့်ပါ။
သိမ်းဆည်းပြီး ထွက်ပါ၊ ထို့နောက် MariaDB ကို ပြန်လည်စတင်ပါ။
configuration ကိုအသုံးချရန် အောက်ပါ command ကို execute လုပ်ပါ:
sudo systemctl restart mariadb
၎င်းသည် အလုပ်လုပ်ခြင်းရှိမရှိ အတည်ပြုပါ
MariaDB သို့ ဝင်ရောက်ပါ-
mysql -u root -p
执行:
SHOW VARIABLES LIKE 'default_storage_engine';
အထွက်က အောက်ပါအတိုင်း ဖြစ်သင့်ပါတယ်-
+------------------------+--------+
| Variable_name | Value |
+------------------------+--------+
| default_storage_engine | MyISAM |
+------------------------+--------+
ဆိုလိုသည်မှာ ပြုပြင်မွမ်းမံမှု အောင်မြင်ပါသည်။
⚠️သတိထားပါ။
MyISAM ကို စိတ်လှုပ်ရှားစွာ မပြောင်းခင်မှာ မှတ်သားထားရမယ့် အဓိကအချက်အနည်းငယ်ရှိပါတယ်။
- လိုက်ဖက်ညီမှုအန္တရာယ်များHestiaCP ရဲ့ built-in application တွေ (ဥပမာ...) WordPressRoundcube မေးလ်မော်ဂျူးသည် InnoDB ငွေပေးငွေယူများနှင့် foreign key များအပေါ် မှီခိုနေရသည်။ MyISAM သို့ အတင်းအကျပ်ပြောင်းလဲခြင်းသည် ချို့ယွင်းမှုများ ဖြစ်စေနိုင်သည်။
- အကြံပြုထားသော ချဉ်းကပ်မှုဇယားတစ်ခု ဖန်တီးသည့်အခါတွင်သာ သတ်မှတ်ပါ။
ENGINE=MyISAMကမ္ဘာလုံးဆိုင်ရာ default value ကိုပြောင်းလဲမည့်အစား၊ ရှိပြီးသား application များ၏ ပုံမှန်လည်ပတ်မှုကို အနှောင့်အယှက်မဖြစ်စေရန် သင်လုပ်ဆောင်နိုင်သည်။ - အရန်ကူးယူခြင်းကာကွယ်မှုမည်သည့်ပြောင်းလဲမှုမျှ မပြုလုပ်မီ၊ ပြန်လည်ပြုပြင်၍မရသော ပျက်စီးမှုများကို ရှောင်ရှားရန် configuration ဖိုင်များနှင့် database ကို backup လုပ်ထားရန် သေချာပါစေ။
"ဒေတာဘေ့စ်စနစ်များ- စာအုပ်အပြည့်အစုံ" တွင် ဖော်ပြထားသည့်အတိုင်း "သိုလှောင်မှုအင်ဂျင်တစ်ခုကို ရွေးချယ်ခြင်းသည် အပေးအယူတစ်ခုဖြစ်သည်။ စွမ်းဆောင်ရည်နှင့် ယုံကြည်စိတ်ချရမှုကို တစ်ပြိုင်နက်တည်း အမြင့်ဆုံးဖြစ်အောင် ဘယ်တော့မှ မလုပ်ပါ။" (ရင်းမြစ်- Garcia-Molina, Ullman, Widom, 2008)
🚀 အကျဉ်းချုပ်နှင့် ထင်မြင်ယူဆချက်များ
HestiaCP မှာ MariaDB ရဲ့ default storage engine ကို MyISAM ကိုပြောင်းတာက ရိုးရှင်းတဲ့ကိစ္စပါ... [mysqld] စာပိုဒ်ထဲကို configuration line တစ်ခုထည့်ပြီး service ကို restart လုပ်ပါ။
ဒါပေမယ့် ဒါက ရိုးရှင်းတဲ့ နည်းပညာဆိုင်ရာ လုပ်ဆောင်ချက်တစ်ခု မဟုတ်ပါဘူး၊ ဒါဟာ... တစ်ခုနဲ့ ပိုတူပါတယ်ဒနိကဗေဒစဉ်းစားကြည့်ပါ- မြန်နှုန်းကို ဦးစားပေးသလား၊ ဘေးကင်းရေးကို ဦးစားပေးသလား။
ကျွန်တော့်အမြင်ကတော့ ခေတ်သစ် application အများစုဟာ InnoDB ကို အားကိုးနေရပြီး အကောင်းဆုံးလုပ်ဆောင်မှုကတော့... MyISAM ကို လိုအပ်သလို အသုံးပြုပါကမ္ဘာလုံးဆိုင်ရာ အစားထိုးမှုတစ်ခု အစား။
log၊ cache နှင့် statistics table များတွင် MyISAM သည် ထက်သောဓားတစ်ချောင်းဖြစ်သော်လည်း transaction-intensive စီးပွားရေးလုပ်ငန်းများတွင် ၎င်းသည် timebomb တစ်ခု ဖြစ်နိုင်သည်။
ထို့ကြောင့် စစ်မှန်သော ပါရမီရှင်များသည် မြန်နှုန်းကို မျက်စိစုံမှိတ်၍ လိုက်စားခြင်းမဟုတ်ဘဲ၊ အခြေအနေအမျိုးမျိုးတွင် အသင့်တော်ဆုံးကိရိယာကို မည်သို့ရွေးချယ်ရမည်ကို သိကြသည်။
နည်းပညာရဲ့တန်ဖိုးဟာ ကျွမ်းကျင်မှုတွေကို ပြသခြင်းမှာ မဟုတ်ဘဲ ပြဿနာတွေကို ဖြေရှင်းခြင်းမှာ တည်ရှိပါတယ်။
MyISAM ကိုပြောင်းသုံးသင့်မသင့် စဉ်းစားနေတယ်ဆိုရင် အရင်ဆုံး ကိုယ့်ကိုယ်ကိုယ် မေးကြည့်ပါ- သင့်အပလီကေးရှင်းက မြန်နှုန်းလိုအပ်သလား၊ တည်ငြိမ်မှုလိုအပ်သလား။
လက်တွေ့စမ်းသပ်မှုများ ပိုမိုပြုလုပ်ရန်နှင့် တကယ့်စီးပွားရေးအခြေအနေများအပေါ် အခြေခံ၍ ပြောင်းလဲသင့်မသင့် ဆုံးဖြတ်ရန် ကျွန်ုပ်တို့ အားပေးပါသည်။
အဆုံးစွန်အားဖြင့် database လောကဆိုတာ လုံးဝအဖြူအမည်းအကြောင်း မဟုတ်ဘဲ ဘာတွေသင့်တော်လဲ၊ ဘာတွေမသင့်တော်ဘူးဆိုတာအကြောင်းပါ။
သင့်တော်တဲ့ သိုလှောင်မှုအင်ဂျင်ကို ရွေးချယ်ခြင်းဟာ အနာဂတ်ကို ရွေးချယ်ခြင်းပါပဲ။
မျှော်လင့်ခြင်း Chen Weiliang ဘလော့ဂ် ( https://www.chenweiliang.com/ "HestiaCP မှာ MariaDB ရဲ့ Default Storage Engine ကို MyISAM အဖြစ် ဘယ်လိုပြောင်းမလဲ။ ရိုးရှင်းတဲ့ တစ်ဆင့်တည်းဖြေရှင်းချက်!" ဆောင်းပါးက သင့်အတွက် အထောက်အကူဖြစ်နိုင်ပါတယ်။
ဤဆောင်းပါး၏ link ကိုမျှဝေရန်ကြိုဆိုပါတယ်:https://www.chenweiliang.com/cwl-34098.html
