15 ຄຳ ແນະ ນຳ ໃນການປັບແຕ່ງແລະການເພີ່ມປະສິດທິພາບຂອງ MySQL/MariaDB ທີ່ມີປະໂຫຍດ


MySQL ແມ່ນລະບົບການຄຸ້ມຄອງຖານຂໍ້ມູນທີ່ກ່ຽວຂ້ອງທີ່ມີປະສິດຕິພາບຫຼືໃນ RDBMS ສັ້ນໆ. ມັນຖືກປ່ອຍອອກມາໃນປີ 1995 (ອາຍຸ 20 ປີ). ມັນໃຊ້ພາສາທີ່ມີໂຄງສ້າງແບບສອບຖາມເຊິ່ງອາດຈະເປັນທາງເລືອກທີ່ນິຍົມທີ່ສຸດ ສຳ ລັບການຈັດການເນື້ອຫາພາຍໃນຖານຂໍ້ມູນ. ເວີຊັນ MySQL ລ້າສຸດແມ່ນ 5.6.25 ແລະຖືກປ່ອຍອອກມາເມື່ອວັນທີ 29 ພຶດສະພາ 2015.

ຂໍ້ເທັດຈິງທີ່ຫນ້າສົນໃຈກ່ຽວກັບ MySQL ແມ່ນຄວາມຈິງທີ່ວ່າຊື່ມາຈາກລູກສາວຂອງ Michael Widenius (ຜູ້ສ້າງ MySQL) ຂອງຂ້ອຍ. ເຖິງແມ່ນວ່າຈະມີຂໍ້ເທັດຈິງທີ່ ໜ້າ ສົນໃຈຫຼາຍກ່ຽວກັບ MySQL, ແຕ່ບົດຂຽນນີ້ມີຄວາມ ໝາຍ ເພື່ອສະແດງໃຫ້ທ່ານເຫັນການປະຕິບັດທີ່ເປັນປະໂຫຍດບາງຢ່າງເພື່ອຊ່ວຍທ່ານໃນການຈັດການເຊີຟເວີ MySQL ຂອງທ່ານ.

ໃນເດືອນເມສາປີ 2009 ໂຄງການ MySQL ໄດ້ຖືກຊື້ໂດຍ Oracle. ດັ່ງນັ້ນ, ຊຸມຊົນ MySQL fork ເອີ້ນວ່າ MariaDB ຖືກສ້າງຂື້ນ. ເຫດຜົນຕົ້ນຕໍໃນການສ້າງຄວາມຍາວຂອງສ້ອມແມ່ນເພື່ອຮັກສາໂຄງການໃຫ້ຢູ່ພາຍໃຕ້ໃບອະນຸຍາດສາທາລະນະທົ່ວໄປ.

ມື້ນີ້ MySQL ແລະ MariaDB ແມ່ນ ໜຶ່ງ ໃນຫລາຍທີ່ສຸດ (ຖ້າບໍ່ແມ່ນທີ່ສຸດ) RDBMS ທີ່ເຄີຍໃຊ້ເລື້ອຍໆທີ່ໃຊ້ ສຳ ລັບການ ນຳ ໃຊ້ເວັບຕ່າງໆເຊັ່ນ WordPress, Joomla, Magento ແລະອື່ນໆ.

ບົດຂຽນນີ້ຈະ ນຳ ສະ ເໜີ ບາງ ຄຳ ແນະ ນຳ ທີ່ເປັນພື້ນຖານ, ແຕ່ມີປະໂຫຍດຕໍ່ການປັບແຕ່ງການເຮັດວຽກຂອງ MySQL/MariaDB. ກະລຸນາຈື່ໄວ້ວ່າບົດຂຽນນີ້ສົມມຸດວ່າທ່ານໄດ້ຕິດຕັ້ງ MySQL ຫຼື MariaDB ແລ້ວ. ຖ້າທ່ານຍັງສົງໄສວິທີການຕິດຕັ້ງພວກມັນໃນລະບົບຂອງທ່ານ, ທ່ານສາມາດຕິດຕາມ ຄຳ ແນະ ນຳ ທີ່ກວ້າງຂວາງຂອງພວກເຮົາໄດ້ທີ່ນີ້:

<

  • ຕິດຕັ້ງ LAMP ໃນ RHEL/CentOS 7
  • ຕິດຕັ້ງ LAMP ໃນ Fedora 22
  • ຕັ້ງຄ່າ LAMP ໃນ Ubuntu 15.04
  • ຕິດຕັ້ງ MariaDB ໃສ່ Debian 8
  • ຕິດຕັ້ງ MariaDB ໃນ Gentoo Linux
  • ຕິດຕັ້ງ MariaDB ໃນ Arch Linux
  • ສິ່ງ ສຳ ຄັນ: ກ່ອນທີ່ພວກເຮົາຈະເລີ່ມຕົ້ນ - ຢ່າຍອມຮັບເອົາ ຄຳ ແນະ ນຳ ນີ້ໂດຍຕາບອດ. ການຕັ້ງ MySQL ແຕ່ລະອັນແມ່ນເປັນເອກະລັກແລະຕ້ອງການຄວາມຄິດເພີ່ມເຕີມ, ກ່ອນທີ່ຈະມີການປ່ຽນແປງໃດໆ.

    ສິ່ງທີ່ທ່ານຕ້ອງຮູ້:

    <

  • ເອກະສານການຕັ້ງຄ່າ MySQL/MariaDB ແມ່ນຕັ້ງຢູ່ໃນ /etc/my.cnf . ທຸກໆຄັ້ງທີ່ທ່ານດັດແປງເອກະສານນີ້ທ່ານຈະຕ້ອງໄດ້ເລີ່ມການບໍລິການ MySQL ຄືນ ໃໝ່ ເພື່ອວ່າການປ່ຽນແປງ ໃໝ່ ຈະມີຜົນບັງຄັບໃຊ້.
  • ສຳ ລັບການຂຽນບົດຄວາມນີ້ MySQL ຮຸ່ນ 5.6 ໄດ້ຖືກ ນຳ ໃຊ້ເປັນແມ່ແບບ.
  • 1. ເປີດໃຊ້ InnoDB file-per-table

    ຫນ້າທໍາອິດມັນເປັນສິ່ງສໍາຄັນທີ່ຈະອະທິບາຍວ່າ InnoDB ແມ່ນເຄື່ອງຈັກເກັບຮັກສາ. MySQL ແລະ MariaDB ໃຊ້ InnoDB ເປັນເຄື່ອງຈັກເກັບຂໍ້ມູນໃນຕອນຕົ້ນ. ໃນໄລຍະຜ່ານມາ MySQL ໃຊ້ເພື່ອຮັກສາຕາຕະລາງຖານຂໍ້ມູນແລະດັດສະນີໄວ້ໃນຕາຕະລາງລະບົບ. ວິທີການນີ້ແມ່ນມີຄວາມ ໝາຍ ສຳ ລັບເຊີຟເວີເຊິ່ງຈຸດປະສົງດຽວແມ່ນການປະມວນຜົນຖານຂໍ້ມູນແລະແຜ່ນເກັບຂໍ້ມູນຂອງພວກມັນບໍ່ໄດ້ຖືກ ນຳ ໃຊ້ເພື່ອຈຸດປະສົງອື່ນ.

    InnoDB ສະ ໜອງ ວິທີການທີ່ມີຄວາມຍືດຍຸ່ນຫຼາຍຂື້ນແລະແຕ່ລະຂໍ້ມູນຂອງຖານຂໍ້ມູນແມ່ນຖືກເກັບໄວ້ໃນແຟ້ມຂໍ້ມູນ .ibd . ແຕ່ລະເອກະສານ .ibd ສະແດງໂຕpະຂອງມັນເອງ. ວິທີການປະຕິບັດງານຖານຂໍ້ມູນເຊັ່ນ "TRUNCATE" ສາມາດເຮັດ ສຳ ເລັດໄດ້ໄວຂຶ້ນແລະທ່ານກໍ່ອາດຈະເກັບເອົາພື້ນທີ່ທີ່ບໍ່ໄດ້ໃຊ້ໃນເວລາທີ່ຫຼຸດລົງຫຼືຕັດຕາຕະລາງຖານຂໍ້ມູນ.

    ຜົນປະໂຫຍດອີກອັນ ໜຶ່ງ ຂອງການຕັ້ງຄ່ານີ້ແມ່ນຄວາມຈິງທີ່ວ່າທ່ານສາມາດເກັບຮັກສາຕາຕະລາງຖານຂໍ້ມູນບາງຢ່າງໄວ້ໃນອຸປະກອນເກັບຂໍ້ມູນຕ່າງຫາກ. ນີ້ສາມາດປັບປຸງການໂຫຼດ I/O ໃຫ້ດີຂື້ນໃນແຜ່ນຂອງທ່ານ.

    innodb_file_per_table ຖືກເປີດໃຊ້ງານໂດຍຄ່າເລີ່ມຕົ້ນໃນ MySQL 5.6 ແລະສູງກວ່າ. ທ່ານສາມາດເຫັນໄດ້ໃນເອກະສານ /etc/my.cnf. ຄຳ ສັ່ງແນະ ນຳ ເບິ່ງດັ່ງນີ້:

    innodb_file_per_table=1
    

    2. ເກັບຮັກສາຂໍ້ມູນຖານຂໍ້ມູນ MySQL ໃນສ່ວນແບ່ງແຍກ

    ໝາຍ ເຫດ: ການຕິດຕັ້ງນີ້ເຮັດວຽກກັບ MySQL ເທົ່ານັ້ນ, ແຕ່ບໍ່ແມ່ນກັບ MariaDB.

    ບາງຄັ້ງ OS ອ່ານ/ຂຽນສາມາດເຮັດວຽກຂອງ MySQL ຂອງທ່ານຊ້າລົງ, ໂດຍສະເພາະຖ້າຕັ້ງຢູ່ຮາດດິດດຽວກັນ. ແທນທີ່ຈະ, ຂ້ອຍຂໍແນະ ນຳ ໃຫ້ໃຊ້ຮາດດິດແຍກຕ່າງຫາກ (ມັກ SSD) ສຳ ລັບບໍລິການ MySQL.

    ເພື່ອເຮັດ ສຳ ເລັດ, ທ່ານ ຈຳ ເປັນຕ້ອງຕິດແຜ່ນ ໃໝ່ ນີ້ໃສ່ຄອມພິວເຕີ້/ເຊີບເວີຂອງທ່ານ. ສຳ ລັບຈຸດປະສົງຂອງບົດຂຽນນີ້, ຂ້າພະເຈົ້າຈະສົມມຸດວ່າການຂັບຈະຢູ່ພາຍໃຕ້/dev/sdb.

    ຂັ້ນຕອນຕໍ່ໄປແມ່ນການກະກຽມຂັບ ໃໝ່:

    # fdisk /dev/sdb
    

    ຕອນນີ້ກົດປຸ່ມ "n" ເພື່ອສ້າງການແບ່ງປັນ ໃໝ່. ຖັດໄປກົດປຸ່ມ“ p” ເພື່ອເຮັດໃຫ້ການແບ່ງປັນ ໃໝ່ ເປັນຫລັກ. ຫລັງຈາກນັ້ນ, ໃຫ້ ກຳ ນົດ ຈຳ ນວນສ່ວນແບ່ງຈາກ 1-4. ຫລັງຈາກນັ້ນທ່ານຈະເລືອກຂະ ໜາດ ຂອງການແບ່ງປັນ. ກົດເຂົ້າທີ່ນີ້. ໃນຂັ້ນຕອນຕໍ່ໄປທ່ານຈະຕ້ອງ ກຳ ນົດຂະ ໜາດ ຂອງພາທິຊັນ.

    ຖ້າທ່ານຕ້ອງການໃຊ້ປຸ່ມ disk ທັງ ໝົດ ກົດອີກເທື່ອ ໜຶ່ງ. ຖ້າບໍ່ດັ່ງນັ້ນທ່ານສາມາດຕັ້ງຂະ ໜາດ ຂອງພາທິຊັນ ໃໝ່ ດ້ວຍຕົນເອງ. ເມື່ອພ້ອມກົດ“ w” ເພື່ອຂຽນການປ່ຽນແປງ. ຕອນນີ້ພວກເຮົາຈະຕ້ອງສ້າງລະບົບແຟ້ມເອກະສານ ສຳ ລັບພາທິຊັນ ໃໝ່ ຂອງພວກເຮົາ. ສິ່ງນີ້ສາມາດເຮັດໄດ້ງ່າຍດ້ວຍ:

    # mkfs.ext4 /dev/sdb1
    

    ຕອນນີ້ພວກເຮົາຈະຕິດຕັ້ງສ່ວນແບ່ງ ໃໝ່ ຂອງພວກເຮົາໄວ້ໃນໂຟນເດີ. ຂ້ອຍໄດ້ຕັ້ງຊື່ແຟ້ມຂອງຂ້ອຍວ່າ "ssd" ແລະຖືກສ້າງຂື້ນໃນລະບົບຮາກ:

    # mkdir /ssd/
    

    ພວກເຮົາພ້ອມແລ້ວທີ່ຈະຕິດຕັ້ງສ່ວນ ໃໝ່ ທີ່ພວກເຮົາຫາກໍ່ສ້າງໄວ້ໃນໂຟນເດີ ໃໝ່:

    # mount /dev/sdb1  /ssd/
    

    ທ່ານສາມາດປະຕິບັດການ mount ໃນເວລາເລີ່ມຕົ້ນໂດຍການເພີ່ມເສັ້ນຕໍ່ໄປນີ້ໃນ/etc/fstab file.

    /dev/sdb1 /ssd ext3 defaults 0 0
    

    ຕອນນີ້ທ່ານພ້ອມແລ້ວທີ່ຈະຍ້າຍ MySQL ໄປຍັງແຜ່ນດິດ ໃໝ່. ທຳ ອິດຢຸດບໍລິການ MySQL ດ້ວຍ:

    # service mysqld stop
    

    ຂ້ອຍຂໍແນະ ນຳ ໃຫ້ທ່ານຢຸດເຊົາການ Apache/nginx ເຊັ່ນດຽວກັນເພື່ອປ້ອງກັນຄວາມພະຍາຍາມໃດໆທີ່ຈະຂຽນໃນຖານຂໍ້ມູນ:

    # service httpd stop
    # service nginx stop
    

    ດຽວນີ້ ສຳ ເນົາ MySQL ທັງ ໝົດ ໃນ drive ໃໝ່:

    # cp /var/lib/mysql /ssd/ -Rp
    

    ມັນອາດຈະໃຊ້ເວລາໃນໄລຍະ ໜຶ່ງ ຂື້ນກັບເວບໄຊທ໌ຖານຂໍ້ມູນ MySQL ຂອງທ່ານ. ເມື່ອຂະບວນການນີ້ ສຳ ເລັດການປ່ຽນຊື່ລະບົບ MySQL:

    # mv /var/lib/mysql /var/lib/mysql-backup
    

    ຕໍ່ໄປພວກເຮົາຈະສ້າງເອກະສານເຊື່ອມຕໍ່.

    # ln -s /ssd/mysql /var/lib/mysql
    

    ຕອນນີ້ທ່ານພ້ອມແລ້ວທີ່ຈະເລີ່ມການບໍລິການ MySQL ແລະເວັບຂອງທ່ານ:

    # service mysqld start
    # service httpd start
    # service nginx start
    

    ໃນຈຸດນີ້ຖານຂໍ້ມູນ MySQL ຂອງທ່ານຈະຖືກເຂົ້າເບິ່ງຈາກໄດເວີ ໃໝ່.