ວິທີການຕິດຕັ້ງ, ການຮັກສາຄວາມປອດໄພແລະການເຮັດວຽກຂອງ Server Database ຂອງ MariaDB
ເຄື່ອງແມ່ຂ່າຍຖານຂໍ້ມູນແມ່ນສ່ວນປະກອບ ສຳ ຄັນຂອງໂຄງສ້າງພື້ນຖານເຄືອຂ່າຍທີ່ ຈຳ ເປັນ ສຳ ລັບການ ນຳ ໃຊ້ໃນປະຈຸບັນ. ຖ້າບໍ່ມີຄວາມສາມາດໃນການເກັບຮັກສາ, ດຶງ, ປັບປຸງແລະລຶບຂໍ້ມູນ (ເມື່ອ ຈຳ ເປັນ), ຄວາມເປັນປະໂຫຍດແລະຂອບເຂດຂອງແອັບ web ເວັບແລະ desktop ແມ່ນ ຈຳ ກັດຫຼາຍ.
ນອກຈາກນັ້ນ, ການຮູ້ວິທີການຕິດຕັ້ງ, ການຄຸ້ມຄອງແລະການ ກຳ ຫນົດຄ່າຂອງຖານຂໍ້ມູນ (ເພື່ອໃຫ້ມັນເຮັດວຽກຕາມທີ່ຄາດ ໝາຍ) ແມ່ນທັກສະທີ່ ຈຳ ເປັນທີ່ຜູ້ບໍລິຫານລະບົບຕ້ອງມີ.
ໃນບົດຂຽນນີ້ພວກເຮົາຈະທົບທວນສັ້ນໆກ່ຽວກັບວິທີຕິດຕັ້ງແລະຮັບປະກັນເຄື່ອງແມ່ຂ່າຍຖານຂໍ້ມູນ MariaDB ແລະຈາກນັ້ນພວກເຮົາຈະອະທິບາຍວິທີການຕັ້ງຄ່າມັນ.
ການຕິດຕັ້ງແລະຮັບປະກັນເຄື່ອງແມ່ຂ່າຍ MariaDB
ໃນ CentOS 7.x, MariaDB ທົດແທນ MySQL, ເຊິ່ງຍັງສາມາດພົບໄດ້ໃນ Ubuntu (ພ້ອມກັບ MariaDB). ດຽວກັນນີ້ແມ່ນຄວາມຈິງ ສຳ ລັບ openSUSE.
ສຳ ລັບຄວາມຖີ່, ພວກເຮົາຈະໃຊ້ພຽງແຕ່ MariaDB ໃນບົດແນະ ນຳ ນີ້ເທົ່ານັ້ນ, ແຕ່ກະລຸນາຮັບຊາບວ່ານອກ ເໜືອ ຈາກມີຊື່ແລະແນວຄິດພັດທະນາທີ່ແຕກຕ່າງກັນ, ທັງລະບົບການຄຸ້ມຄອງຂໍ້ມູນທີ່ກ່ຽວຂ້ອງ (Relative DataBase System) (RDBMSs ສັ້ນ) ແມ່ນເກືອບຄືກັນ.
ນີ້ຫມາຍຄວາມວ່າຄໍາສັ່ງຂ້າງຂອງລູກຄ້າແມ່ນຄືກັນກັບທັງ MySQL ແລະ MariaDB, ແລະເອກະສານການຕັ້ງຄ່າແມ່ນຕັ້ງຊື່ແລະຕັ້ງຢູ່ບ່ອນດຽວກັນ.
ການຕິດຕັ້ງ MariaDB, ເຮັດ:
--------------- On CentOS/RHEL 7 and Fedora 23 --------------- # yum update && yum install mariadb mariadb-server # CentOS --------------- On Debian and Ubuntu --------------- $ sudo aptitude update && sudo aptitude install mariadb-client mariadb-server --------------- On openSUSE --------------- # zypper update && zypper install mariadb mariadb-tools # openSUSE
ໃຫ້ສັງເກດວ່າ, ໃນ Ubuntu, ທ່ານຈະຖືກຮ້ອງຂໍໃຫ້ໃສ່ລະຫັດລັບ ສຳ ລັບຜູ້ໃຊ້ຮາກ RDBMS.
ເມື່ອແພກເກດຂ້າງເທິງໄດ້ຖືກຕິດຕັ້ງ, ໃຫ້ແນ່ໃຈວ່າການບໍລິການຖານຂໍ້ມູນ ກຳ ລັງເຮັດວຽກຢູ່ແລະຖືກເປີດໃຊ້ງານເພື່ອເລີ່ມຕົ້ນການໃສ່ເກີບ (ໃນ CentOS ແລະ openSUSE ທ່ານຈະຕ້ອງໄດ້ ດຳ ເນີນການນີ້ດ້ວຍຕົນເອງ. ສຳ ລັບທ່ານ):
--------------- On CentOS/RHEL 7 and Fedora 23 --------------- # systemctl start mariadb && systemctl enable mariadb --------------- On openSUSE --------------- # systemctl start mysql && systemctl enable mysql
ຫຼັງຈາກນັ້ນ, ດຳ ເນີນການສະຄິບ
<
ສຳ ລັບ ຄຳ ອະທິບາຍລະອຽດກ່ຽວກັບຂະບວນການນີ້, ທ່ານສາມາດອ້າງອີງເຖິງສ່ວນການຕິດຕັ້ງ Post ໃນຖານຂໍ້ມູນຕິດຕັ້ງ MariaDB ໃນ RHEL/CentOS/Fedora ແລະ Debian/Ubuntu.
ຕັ້ງຄ່າ Server MariaDB
ຕົວເລືອກການຕັ້ງຄ່າເລີ່ມຕົ້ນແມ່ນອ່ານຈາກແຟ້ມຕໍ່ໄປນີ້ຕາມ ລຳ ດັບທີ່ໄດ້ ກຳ ນົດໄວ້: /etc/mysql/my.cnf
, /etc/my.cnf
, ແລະ ~ /.my.cnf
.
ສ່ວນຫຼາຍແລ້ວ, ມີພຽງແຕ່ /etc/my.cnf
ເທົ່ານັ້ນ. ມັນຢູ່ໃນແຟ້ມເອກະສານນີ້ພວກເຮົາຈະຕັ້ງຄ່າການຕັ້ງຄ່າເຊີຟເວີ (ເຊິ່ງສາມາດ overridden ດ້ວຍການຕັ້ງຄ່າດຽວກັນໃນ ~/.my.cnf
ສຳ ລັບຜູ້ໃຊ້ແຕ່ລະຄົນ).
ສິ່ງ ທຳ ອິດທີ່ພວກເຮົາຕ້ອງສັງເກດກ່ຽວກັບ my.cnf
ແມ່ນວ່າການຕັ້ງຄ່າຕ່າງໆຖືກຈັດເຂົ້າເປັນຫລາຍປະເພດ (ຫລືກຸ່ມ) ເຊິ່ງແຕ່ລະຊື່ປະເພດຖືກຫຸ້ມດ້ວຍວົງເລັບສີ່ຫລ່ຽມ.
ການຕັ້ງຄ່າລະບົບເຊີເວີແມ່ນໃຫ້ຢູ່ໃນສ່ວນ [mysqld]
, ເຊິ່ງໂດຍປົກກະຕິທ່ານຈະພົບພຽງສອງການຕັ້ງຄ່າ ທຳ ອິດໃນຕາຕະລາງລຸ່ມນີ້. ສ່ວນທີ່ເຫຼືອແມ່ນທາງເລືອກອື່ນທີ່ຖືກ ນຳ ໃຊ້ເລື້ອຍໆ (ບ່ອນທີ່ໄດ້ລະບຸ, ພວກເຮົາຈະປ່ຽນຄ່າເລີ່ມຕົ້ນດ້ວຍການ ກຳ ຫນົດເອງໃນການເລືອກຂອງພວກເຮົາ):
ພວກເຮົາຈະປ່ຽນແປງສິ່ງນີ້ເພື່ອສັ່ງໃຫ້ການບໍລິການຮັບຟັງໃນສະເພາະທີ່ຢູ່ຂອງມັນ (192.168.0.13):
bind_address = 192.168.0.13
ພວກເຮົາຈະປ່ຽນແທນຄ່າເລີ່ມຕົ້ນ (3306) ດ້ວຍ 20500 (ແຕ່ພວກເຮົາຕ້ອງຮັບປະກັນວ່າບໍ່ມີຫຍັງອີກແລ້ວທີ່ໃຊ້ພອດນັ້ນ):
ພອດ = 20500
ໃນຂະນະທີ່ບາງຄົນຈະໂຕ້ຖຽງວ່າຄວາມປອດໄພຜ່ານການປິດບັງບໍ່ແມ່ນການປະຕິບັດທີ່ດີ, ການປ່ຽນພອດການ ນຳ ໃຊ້ໂປແກມ ສຳ ລັບບ່ອນທີ່ສູງກວ່ານັ້ນແມ່ນວິທີການທີ່ມີປະສິດຕິຜົນສູງສຸດໃນການຂັດຂວາງການສະແກນ port.
ພວກເຮົາຈະປ່ຽນແທນຄ່າເລີ່ມຕົ້ນດ້ວຍ 256 MB:
innodb_buffer_pool_size = 256M
ເວັ້ນເສຍແຕ່ວ່າທ່ານຮຽກຮ້ອງໃຫ້ hostnames ສາມາດກໍານົດສິດອະນຸຍາດ, ມັນແມ່ນແນະນໍາໃຫ້ປິດການປ່ຽນແປງຂອງຕົວແປນີ້ (ເພື່ອເລັ່ງການເຊື່ອມຕໍ່ແລະການສອບຖາມ) ໂດຍການຕັ້ງຄ່າຂອງມັນເປັນ 1:
ຂ້າມ_name_resolve = 1
ທ່ານຄວນເລືອກຂະ ໜາດ ຂອງຖານຂໍ້ມູນແບບສອບຖາມທີ່ກົງກັບຄວາມຕ້ອງການຂອງທ່ານໂດຍອີງໃສ່ 1) ຈຳ ນວນ ຄຳ ຖາມທີ່ຊ້ ຳ ແລ້ວແລະ 2) ຈຳ ນວນປະມານຂອງບັນທຶກທີ່ ຄຳ ຖາມທີ່ຄ້າງຫ້ອງທີ່ຄາດວ່າຈະກັບມາ. ພວກເຮົາຈະ ກຳ ນົດມູນຄ່ານີ້ໃຫ້ເປັນ 100 MB ສຳ ລັບເວລາ:
query_cache_size = 100M
max_connections = ການເຊື່ອມຕໍ່ 30Each ຈະໃຊ້ກະທູ້, ແລະດັ່ງນັ້ນຈຶ່ງຈະເຮັດໃຫ້ຄວາມຊົງ ຈຳ ດີ. ພິຈາລະນາຄວາມເປັນຈິງນີ້ເຂົ້າໃນຂະນະທີ່ ກຳ ນົດການເຊື່ອມຕໍ່ max_connections.
ອີກເທື່ອ ໜຶ່ງ, ມັນຂື້ນກັບ ຈຳ ນວນການເຊື່ອມຕໍ່ທີ່ທ່ານ ກຳ ລັງຄາດຫວັງ. ພວກເຮົາສາມາດ ກຳ ນົດມູນຄ່ານີ້ໄດ້ຢ່າງປອດໄພເຖິງເຄິ່ງ ໜຶ່ງ ຂອງ ຈຳ ນວນສາຍເຊື່ອມຕໍ່:
thread_cache_size = 15
# yum install policycoreutils-python # semanage port -a -t mysqld_port_t -p tcp 20500
ຫຼັງຈາກນັ້ນໃຫ້ບໍລິການ MariaDB ຄືນ ໃໝ່.
Tuning MariaDB Performance
ເພື່ອຊ່ວຍພວກເຮົາໃນການກວດສອບແລະດັດປັບການຕັ້ງຄ່າຕາມຄວາມຕ້ອງການສະເພາະຂອງພວກເຮົາ, ພວກເຮົາສາມາດຕິດຕັ້ງ mysqltuner (ສະຄິບທີ່ຈະໃຫ້ ຄຳ ແນະ ນຳ ເພື່ອປັບປຸງການເຮັດວຽກຂອງ server ຂອງຖານຂໍ້ມູນແລະເພີ່ມສະຖຽນລະພາບຂອງມັນ):
# wget https://github.com/major/MySQLTuner-perl/tarball/master # tar xzf master
ຫຼັງຈາກນັ້ນປ່ຽນຊື່ເຂົ້າໃນໂຟນເດີທີ່ສະກັດຈາກ tarball (ສະບັບທີ່ແນ່ນອນອາດຈະແຕກຕ່າງກັນໃນກໍລະນີຂອງທ່ານ):
# cd major-MySQLTuner-perl-7dabf27
ແລະດໍາເນີນການມັນ (ທ່ານຈະໄດ້ຮັບການກະຕຸ້ນເຕືອນໃຫ້ໃສ່ຂໍ້ມູນປະຈໍາຕົວຂອງບັນຊີ MariaDB ບໍລິຫານຂອງທ່ານ)
# ./mysqltuner.pl
ຜົນຜະລິດຂອງຕົວອັກສອນແມ່ນ ໜ້າ ສົນໃຈຫຼາຍ, ແຕ່ໃຫ້ຂ້າມໄປທາງລຸ່ມບ່ອນທີ່ຕົວແປທີ່ຈະປັບໄດ້ຖືກລະບຸໄວ້ດ້ວຍຄ່າທີ່ແນະ ນຳ:
ການຕັ້ງຄ່າ query_cache_type
ຊີ້ໃຫ້ເຫັນວ່າຖານຂໍ້ມູນແບບສອບຖາມຖືກປິດ (0) ຫຼືເປີດໃຊ້ (1). ໃນກໍລະນີນີ້, mysqltuner ກຳ ລັງແນະ ນຳ ໃຫ້ພວກເຮົາປິດມັນ.
ສະນັ້ນເປັນຫຍັງພວກເຮົາຖືກແນະ ນຳ ໃຫ້ເຮັດໃຫ້ມັນປິດການ ນຳ ໃຊ້ດຽວນີ້? ເຫດຜົນກໍ່ຄືວ່າຖານຂໍ້ມູນການສອບຖາມແມ່ນມີປະໂຫຍດສ່ວນໃຫຍ່ໃນສະຖານະການທີ່ອ່ານ/ຂຽນທີ່ມີລະດັບຕໍ່າ (ເຊິ່ງບໍ່ແມ່ນກໍລະນີຂອງພວກເຮົາ, ເພາະວ່າພວກເຮົາຫາກໍ່ຕິດຕັ້ງຖານຂໍ້ມູນ server).
ຄຳ ເຕືອນ: ກ່ອນທີ່ຈະເຮັດການປ່ຽນແປງການຕັ້ງຄ່າຂອງເຄື່ອງແມ່ຂ່າຍການຜະລິດ, ທ່ານໄດ້ຖືກແນະ ນຳ ໃຫ້ປຶກສາຜູ້ຊ່ຽວຊານດ້ານຖານຂໍ້ມູນເພື່ອຮັບປະກັນວ່າ ຄຳ ແນະ ນຳ ທີ່ໃຫ້ໂດຍ mysqltuner ຈະບໍ່ສົ່ງຜົນກະທົບທາງລົບຕໍ່ການຕັ້ງຄ່າທີ່ມີຢູ່.
ບົດສະຫຼຸບ
ໃນບົດຂຽນນີ້ພວກເຮົາໄດ້ອະທິບາຍວິທີການ ກຳ ຫນົດຄ່າເຊີຟເວີຖານຂໍ້ມູນ MariaDB ຫຼັງຈາກທີ່ພວກເຮົາໄດ້ຕິດຕັ້ງແລະຮັບປະກັນມັນ. ຕົວແປການຕັ້ງຄ່າທີ່ລະບຸໄວ້ໃນຕາຕະລາງຂ້າງເທິງແມ່ນການຕັ້ງຄ່າບໍ່ຫຼາຍປານໃດທີ່ທ່ານອາດຈະຕ້ອງການພິຈາລະນາໃນຂະນະທີ່ ກຳ ລັງກະກຽມ server ສຳ ລັບໃຊ້ຫລືໃນເວລາທີ່ ກຳ ລັງປັບມັນຕໍ່ມາ. ສະເຫມີອ້າງອີງເຖິງເອກະສານທີ່ເປັນທາງການຂອງ MariaDB ກ່ອນທີ່ຈະມີການປ່ຽນແປງຫຼືອ້າງອີງເຖິງ ຄຳ ແນະ ນຳ ໃນການປັບແຕ່ງຜົນງານຂອງ MariaDB:
ດັ່ງທີ່ເຄີຍເຮັດ, ຢ່າລັງເລທີ່ຈະແຈ້ງໃຫ້ພວກເຮົາທາບວ່າທ່ານມີ ຄຳ ຖາມຫຼື ຄຳ ເຫັນຫຍັງກ່ຽວກັບບົດຂຽນນີ້. ມີການຕັ້ງຄ່າເຊີຟເວີອື່ນທີ່ທ່ານມັກໃຊ້ບໍ? ແບ່ງປັນກັບຊຸມຊົນທີ່ເຫຼືອຂອງຊຸມຊົນໂດຍໃຊ້ແບບຟອມ ຄຳ ເຫັນຂ້າງລຸ່ມນີ້.