ΪÁËÈ·±£ÕâЩÊý¾ÝµÄÍêÕûÐÔ¡¢°²È«ÐԺ͸ßЧ·ÃÎÊ£¬Ñ¡ÔñÊʺϵÄÊý¾Ý¿â¹ÜÀíϵͳ£¨DBMS£©ÖÁ¹ØÖØÒª
MySQL£¬×÷Ϊ¿ªÔ´Êý¾Ý¿â¹ÜÀíϵͳÖеÄٮٮÕߣ¬Æ¾½èÆä¸ßÐÔÄÜ¡¢¿É¿¿ÐԺ͹㷺µÄÉçÇøÖ§³Ö£¬ÒѳÉΪÖÚ¶àÆóÒµºÍ¿ª·¢ÕßµÄÊ×Ñ¡
¶øLinux£¬×÷Ϊ×îÁ÷ÐеĿªÔ´²Ù×÷ϵͳ֮һ£¬ÒÔÆäÎȶ¨ÐÔ¡¢°²È«ÐÔºÍÁé»îÐÔ£¬ÎªMySQLÌṩÁËÀíÏëµÄÔËÐл·¾³
±¾ÎĽ«ÉîÈë̽ÌÖÈçºÎ½«MySQLÓëLinux¹¤¾ßÏà½áºÏ£¬¹¹½¨Ò»¸ö¸ßЧ¡¢¿É¿¿µÄÊý¾Ý¿â¹ÜÀí»·¾³
Ò»¡¢MySQLÔÚLinuxÉϵÄÓÅÊÆ 1. ÐÔÄÜÓÅ»¯ Linux²Ù×÷ϵͳÒÔÆäÇáÁ¿¼¶Äں˺ͶÔ×ÊÔ´µÄ¸ßЧ¹ÜÀí¶øÎÅÃû
ÔÚLinuxÉÏÔËÐÐMySQL£¬¿ÉÒÔ³ä·ÖÀûÓòÙ×÷ϵͳµÄÕâÐ©ÌØÐÔ£¬ÊµÏÖ¸ü¸ßµÄ²¢·¢´¦ÀíÄÜÁ¦¡¢¸üµÍµÄÑӳٺ͸üÓÅ»¯µÄÄÚ´æÊ¹ÓÃ
´ËÍ⣬LinuxÌṩÁ˷ḻµÄÐÔÄܵ÷ÓŹ¤¾ß£¬Èç`top`¡¢`htop`¡¢`vmstat`µÈ£¬°ïÖúDBA£¨Êý¾Ý¿â¹ÜÀíÔ±£©ÊµÊ±¼à¿ØºÍµ÷ÕûMySQL·þÎñÆ÷µÄÐÔÄÜ
2. °²È«ÐÔÔöÇ¿ LinuxÒÔÆäÇ¿´óµÄ°²È«»úÖÆÖø³Æ£¬°üÀ¨ÎļþȨÏÞ¹ÜÀí¡¢Óû§ÈÏÖ¤¡¢·À»ðǽ¹æÔòµÈ£¬ÎªMySQLÊý¾Ý¿âÌṩÁ˶à²ã·À»¤
ͨ¹ýºÏÀíÅäÖÃSELinux£¨Security-Enhanced Linux£©»òAppArmorµÈ°²È«Ä£¿é£¬¿ÉÒÔ½øÒ»²½ÏÞÖÆMySQL½ø³ÌµÄȨÏÞ£¬¼õÉÙDZÔڵݲȫ·çÏÕ
ͬʱ£¬Linux»·¾³ÏÂÓзḻµÄÈÕÖ¾¼Ç¼ºÍ·ÖÎö¹¤¾ß£¬Èç`syslog`¡¢`auditd`£¬ÓÐÖúÓÚ¼°Ê±·¢ÏÖ²¢ÏìÓ¦°²È«Íþв
3. ·á¸»µÄÉú̬ϵͳ Linuxƽ̨ӵÓÐÅÓ´óµÄ¿ªÔ´ÉçÇøºÍ·á¸»µÄÈí¼þ²Ö¿â£¬ÈçAPT£¨Debian/Ubuntu£©¡¢YUM/DNF£¨RHEL/CentOS£©¡¢Zypper£¨openSUSE£©µÈ£¬ÌṩÁË´óÁ¿µÄMySQL¹ÜÀí¹¤¾ß¡¢±¸·Ý»Ö¸´½â¾ö·½°¸ºÍÐÔÄÜ¼à¿Ø²å¼þ
ÕâЩ¹¤¾ß¼«´óµØ¼ò»¯ÁËMySQLµÄÈÕ³£¹ÜÀíºÍά»¤¹¤×÷£¬Ìá¸ßÁËÔËάЧÂÊ
¶þ¡¢¹Ø¼üLinux¹¤¾ßÔÚMySQL¹ÜÀíÖеÄÓ¦Óà 1. ÃüÁîÐй¤¾ß - mysql£ºÕâÊÇMySQL×Ô´øµÄÃüÁîÐпͻ§¶Ë£¬ÔÊÐíÓû§Í¨¹ýSQLÓï¾äÖ±½Ó²Ù×÷Êý¾Ý¿â
ÎÞÂÛÊÇÖ´Ðвéѯ¡¢²åÈëÊý¾Ý¡¢Ð޸ıí½á¹¹£¬»¹ÊÇÖ´ÐйÜÀíÈÎÎñ£¬`mysql`¶¼ÊDz»¿É»òȱµÄ¹¤¾ß
- mysqldump£ºÓÃÓÚ±¸·ÝMySQLÊý¾Ý¿â
Ëü¿ÉÒÔ½«Êý¾Ý¿â»ò±íµÄÊý¾ÝºÍ½á¹¹µ¼³öΪSQL½Å±¾Îļþ£¬±ãÓÚÇ¨ÒÆ»ò»Ö¸´
½áºÏ`cron`×÷Òµ£¬¿ÉÒÔʵÏÖ¶¨ÆÚ×Ô¶¯±¸·Ý
- mysqladmin£ºÒ»¸öÓÃÓÚÖ´ÐÐMySQL·þÎñÆ÷¹ÜÀíÈÎÎñµÄÃüÁîÐй¤¾ß£¬Èç¼ì²é·þÎñÆ÷״̬¡¢´´½¨»òɾ³ýÊý¾Ý¿â¡¢¹ÜÀíÓû§È¨ÏÞµÈ
2. ÐÔÄÜ¼à¿ØÓë·ÖÎö - Percona Toolkit£ºÕâÊÇÒ»Ì×ÓÉPercona¿ª·¢µÄMySQL¹ÜÀíºÍ¼à¿Ø¹¤¾ß¼¯£¬°üÀ¨`pt-query-digest`£¨ÓÃÓÚ·ÖÎöÂý²éѯÈÕÖ¾£©¡¢`pt-online-schema-change`£¨ÔÚÏßÐ޸ıí½á¹¹¶ø²»Ëø±í£©µÈ£¬¼«´óµØÌáÉýÁËMySQLµÄά»¤Ð§ÂʺÍÐÔÄÜÓÅ»¯ÄÜÁ¦
- MySQL Enterprise Monitor£¨ËäÈ»²»ÍêÈ«ÊÇLinux¹¤¾ß£¬µ«³£ÔÚLinux»·¾³Ï²¿Ê𣩣ºÌá¹©È«ÃæµÄMySQL·þÎñÆ÷¼à¿Ø¡¢ÐÔÄÜ·ÖÎöºÍ¾¯±¨¹¦ÄÜ£¬Êʺ϶ÔÊý¾Ý¿âÐÔÄÜÓÐÑϸñÒªÇóµÄÆóÒµ¼¶Óû§
3. ×Ô¶¯»¯Óë½Å±¾»¯ - Bash½Å±¾£ºÀûÓÃBash½Å±¾£¬¿ÉÒÔ×Ô¶¯»¯Ö´ÐÐMySQLÊý¾Ý¿âµÄÈÕ³£¹ÜÀíÈÎÎñ£¬È籸·Ý¡¢ÓÅ»¯¡¢ÇåÀíÈÕÖ¾µÈ
½áºÏ`cron`×÷Òµµ÷¶È£¬¿ÉÒÔʵÏÖ¶¨Ê±×Ô¶¯»¯²Ù×÷£¬¼õÉÙÈ˹¤¸ÉÔ¤
- Ansible¡¢PuppetµÈ×Ô¶¯»¯ÅäÖùÜÀí¹¤¾ß£ºÕâЩ¹¤¾ß¿ÉÒÔ°ïÖúDBAÔÚ¶à¸öLinux·þÎñÆ÷ÉÏͳһ²¿ÊðºÍ¹ÜÀíMySQLʵÀý£¬È·±£ÅäÖõÄÒ»ÖÂÐԺͿÉÖØ¸´ÐÔ
4. ÈÕÖ¾¹ÜÀíÓë·ÖÎö - logrotate£ºÓÃÓÚ¹ÜÀíMySQLµÄÈÕÖ¾Îļþ£¬Èç´íÎóÈÕÖ¾¡¢²éѯÈÕÖ¾¡¢Âý²éѯÈÕÖ¾µÈ
ͨ¹ýÉèÖúÏÀíµÄÂÖת²ßÂÔ£¬¿ÉÒÔ±ÜÃâÈÕÖ¾ÎļþÎÞÏÞÖÆÔö³¤£¬Í¬Ê±±£Áô×ã¹»µÄÀúÊ·Êý¾Ý¹©·ÖÎö
- ELK Stack£¨Elasticsearch, Logstash, Kibana£©£ºËäÈ»Ö÷ÒªÓÃÓÚ´ó¹æÄ£ÈÕÖ¾·ÖÎö£¬µ«Ò²¿ÉÒÔÓÃÓÚMySQLÈÕÖ¾µÄ¼¯ÖÐÊÕ¼¯¡¢·ÖÎöºÍ¿ÉÊÓ»¯£¬°ïÖúDBA¿ìËÙ¶¨Î»ÎÊÌâ
Èý¡¢Êµ¼ù°¸Àý£º¹¹½¨¸ßЧMySQLÊý¾Ý¿â¹ÜÀí»·¾³ °¸Àý±³¾°£ºÄ³ÖÐÐ͵çÉÌÍøÕ¾£¬ÓµÓÐÊý°ÙÍò×¢²áÓû§£¬Ã¿ÈÕ½»Ò×Á¿¾Þ´ó£¬¶ÔÊý¾Ý¿âµÄÐÔÄܺÍÎȶ¨ÐÔÒªÇ󼫸ß
½â¾ö·½°¸£º 1.»·¾³´î½¨£ºÑ¡ÔñCentOS×÷Ϊ²Ù×÷ϵͳ£¬²¿ÊðMySQL 5.7°æ±¾£¬ÀûÓÃYUM½øÐаü¹ÜÀíºÍÒÀÀµ½â¾ö
2.ÐÔÄÜÓÅ»¯£ºÍ¨¹ýµ÷ÕûMySQLÅäÖÃÎļþ£¨Èç`my.cnf`£©£¬ÓÅ»¯ÄÚ´æ·ÖÅä¡¢»º´æÉèÖá¢Á¬½Ó³Ø´óСµÈ²ÎÊý£¬ÒÔÊÊÓ¦¸ß²¢·¢·ÃÎÊÐèÇó
ÀûÓÃ`PerconaToolkit`ÖеÄ`pt-query-digest`·ÖÎöÂý²éѯÈÕÖ¾£¬Õë¶ÔÐԵؽøÐÐË÷ÒýÓÅ»¯ºÍSQLÖØ¹¹
3.°²È«ÐÔ¼ÓÇ¿£ºÆôÓÃMySQLµÄSSL/TLS¼ÓÃÜ£¬È·±£Êý¾Ý´«Ê䰲ȫ
ʹÓÃ`mysql_secure_installation`½Å±¾£¬ÉèÖÃrootÃÜÂ롢ɾ³ýÄäÃûÓû§¡¢ÏÞÖÆÔ¶³Ì·ÃÎʵȣ¬Ìá¸ßÊý¾Ý¿â°²È«ÐÔ
4.×Ô¶¯»¯±¸·ÝÓë»Ö¸´£º±àдBash½Å±¾£¬½áºÏ`mysqldump`ºÍ`cron`£¬ÊµÏÖÿÈÕ×Ô¶¯±¸·Ý£¬²¢½«±¸·ÝÎļþÉÏ´«ÖÁÔ¶³Ì´æ´¢
ͬʱ£¬¶¨ÆÚ½øÐб¸·Ý»Ö¸´ÑÝÁ·£¬È·±£±¸·ÝµÄÓÐЧÐÔ
5.¼à¿ØÓ뾯±¨£º²¿ÊðMySQL Enterprise Monitor£¬ÊµÊ±¼à¿ØÊý¾Ý¿âÐÔÄÜÖ¸±ê£¬ÈçCPUʹÓÃÂÊ¡¢ÄÚ´æÕ¼ÓᢲéѯÏìӦʱ¼äµÈ
ÉèÖþ¯±¨²ßÂÔ£¬µ±¹Ø¼üÖ¸±ê³¬¹ýãÐֵʱ£¬×Ô¶¯·¢ËÍÓʼþ»ò¶ÌÐÅ֪ͨDBA
6.ÈÕÖ¾¹ÜÀí£ºÅäÖÃlogrotate£¬¶ÔMySQLµÄ¸÷ÀàÈÕÖ¾Îļþ½øÐж¨ÆÚÂÖתºÍѹËõ£¬Í¬Ê±±£Áô×î½üÒ»¸öÔµÄÈÕÖ¾Êý¾Ý
ÀûÓÃKibana¶Ô¹Ø¼üÈÕÖ¾½øÐпÉÊÓ»¯·ÖÎö£¬Ìá¸ßÎÊÌâÅŲéЧÂÊ
ËÄ¡¢×Ü½á ½«MySQLÓëLinux¹¤¾ßÏà½áºÏ£¬²»½ö¿ÉÒÔ³ä·ÖÀûÓÃLinuxµÄÐÔÄÜÓÅÊÆ¡¢°²È«ÌØÐԺͷḻÉú̬£¬»¹ÄÜͨ¹ýһϵÁиßЧµÄ¹ÜÀí¹¤¾ß£¬ÊµÏÖMySQLÊý¾Ý¿âµÄ×Ô¶¯»¯¡¢ÖÇÄÜ»¯¹ÜÀí
ÎÞÂÛÊÇÐÔÄÜÓÅ»¯¡¢°²È«¼Ó¹Ì£¬»¹ÊDZ¸·Ý»Ö¸´¡¢¼à¿Ø¾¯±¨£¬Linux¶¼ÌṩÁËÇ¿´óµÄÖ§³Ö
ͨ¹ýʵ¼ù°¸Àý£¬ÎÒÃÇ¿´µ½ÁËÕâÒ»×éºÏÔÚʵ¼ÊÓ¦ÓÃÖеľ޴ó¼ÛÖµ
¶ÔÓÚÈκÎÏ£Íû¹¹½¨¸ßЧ¡¢¿É¿¿Êý¾Ý¿â¹ÜÀí»·¾³µÄÆóÒµºÍ¿ª·¢ÕßÀ´Ëµ£¬MySQLÓëLinuxµÄ½áºÏÎÞÒÉÊÇÒ»¸öÖµµÃÉîÈë̽Ë÷ºÍ²ÉÓõÄÑ¡Ôñ