{"id":1421,"date":"2026-03-22T23:23:20","date_gmt":"2026-03-22T14:23:20","guid":{"rendered":"http:\/\/www.igoni.kr\/?p=1421"},"modified":"2026-03-22T23:23:20","modified_gmt":"2026-03-22T14:23:20","slug":"mysql-%ea%b8%b0%eb%b0%98%ec%9d%98-%eb%a6%ac%ed%94%8c%eb%a6%ac%ec%bc%80%ec%9d%b4%ec%85%98-%eb%b0%8f-mmm-%ec%84%a4%ec%b9%98","status":"publish","type":"post","link":"http:\/\/www.igoni.kr\/?p=1421","title":{"rendered":"mysql \uae30\ubc18\uc758 \ub9ac\ud50c\ub9ac\ucf00\uc774\uc158 \ubc0f mmm \uc124\uce58"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">\ubaa9 \ucc28<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"\ubaa9\ucc28 \ud1a0\uae00\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"http:\/\/www.igoni.kr\/?p=1421\/#MYSQL_%EC%84%A4%EC%B9%98\" >MYSQL \uc124\uce58<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"http:\/\/www.igoni.kr\/?p=1421\/#Mysql-MMM_%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0\" >Mysql-MMM \uc124\uce58\ud558\uae30<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"http:\/\/www.igoni.kr\/?p=1421\/#MMM_agent_%EC%84%A4%EC%B9%98\" >MMM agent \uc124\uce58<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"http:\/\/www.igoni.kr\/?p=1421\/#MMM-monitor_%EC%84%A4%EC%B9%98_Satistics2_%EC%84%9C%EB%B2%84\" >MMM-monitor \uc124\uce58 (Satistics#2 \uc11c\ubc84)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"http:\/\/www.igoni.kr\/?p=1421\/#FAQ\" >FAQ<\/a><\/li><\/ul><\/nav><\/div>\n<p>\uc548\ub155\ud558\uc138\uc694, \uace0\ub2c8\uc785\ub2c8\ub2e4. \uae30\uc874\uc5d0 \uc791\uc131\ub41c \ubb38\uc11c Refactoring \uc911\uc774\ub77c \uc5c5\ub370\uc774\ud2b8 \ud558\ud558\ub824\uace0 \ud569\ub2c8\ub2e4.<\/p>\n<table style=\"border-collapse: collapse; width: 100%;\" border=\"1\">\n<colgroup>\n<col style=\"width: 99.881%;\" \/><\/colgroup>\n<tbody>\n<tr>\n<td><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1423\" src=\"http:\/\/www.igoni.kr\/wp-content\/uploads\/2026\/03\/4e991965-db66-4909-8643-25051a6c5689.jpg\" alt=\"\" width=\"2304\" height=\"1728\" srcset=\"http:\/\/www.igoni.kr\/wp-content\/uploads\/2026\/03\/4e991965-db66-4909-8643-25051a6c5689.jpg 2304w, http:\/\/www.igoni.kr\/wp-content\/uploads\/2026\/03\/4e991965-db66-4909-8643-25051a6c5689-300x225.jpg 300w, http:\/\/www.igoni.kr\/wp-content\/uploads\/2026\/03\/4e991965-db66-4909-8643-25051a6c5689-1024x768.jpg 1024w, http:\/\/www.igoni.kr\/wp-content\/uploads\/2026\/03\/4e991965-db66-4909-8643-25051a6c5689-768x576.jpg 768w, http:\/\/www.igoni.kr\/wp-content\/uploads\/2026\/03\/4e991965-db66-4909-8643-25051a6c5689-1536x1152.jpg 1536w, http:\/\/www.igoni.kr\/wp-content\/uploads\/2026\/03\/4e991965-db66-4909-8643-25051a6c5689-2048x1536.jpg 2048w, http:\/\/www.igoni.kr\/wp-content\/uploads\/2026\/03\/4e991965-db66-4909-8643-25051a6c5689-1300x975.jpg 1300w\" sizes=\"auto, (max-width: 2304px) 100vw, 2304px\" \/><\/td>\n<\/tr>\n<tr>\n<td class=\"align-right\">perplexity\uc5d0\uc11c \uc0dd\uc131\ud55c AI\uc774\ubbf8\uc9c0<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3 id=\"bkmrk-mysql-%EC%84%A4%EC%B9%98\" class=\"wikigeneratedid\"><span class=\"ez-toc-section\" id=\"MYSQL_%EC%84%A4%EC%B9%98\"><\/span>MYSQL \uc124\uce58<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ol id=\"bkmrk-%EC%84%A4%EC%B9%98%ED%99%98%EA%B2%BD-%EA%B5%AC%EC%84%B11.-mysql%EC%82%AC%EC%9A%A9%EC%9E%90%EC%A0%95%EB%B3%B4\">\n<li>\uc124\uce58\ud658\uacbd \uad6c\uc1311. Mysql\uc0ac\uc6a9\uc790\uc815\ubcf4 \ucd94\uac00\n<pre><code class=\"language-Python\">[root@localhost ~]# groupadd \u2013g 1002 mysql\r\n[root@localhost ~]# useradd -M mysql -u 1002 \u2013g 1002 -d \/svc\/mysql\/<\/code><\/pre>\n<div>\n<div>\n<div class=\"box\">\n<div class=\"code\">\n<div class=\"linenoswrapper\">\n<div><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<ol>\n<li>\ucd94\uac00 \ud328\ud0a4\uc9c0 \uc124\uce58\n<pre><code class=\"language-Python\">[root@localhost ~]# yum install ncurses* openssl-devel* \\\r\ngdbm-devel* curl* gmp* libxml2* libtermcap* cmake* libc-client-devel\\\r\nlibcurl-devel libxslt -y<\/code><\/pre>\n<\/li>\n<li>\ubc14\uc774\ub108\ub9ac&amp;\ud658\uacbd\uc124\uc815 \uc124\uce58\ud328\ud0a4\uc9c0&amp;\ud658\uacbd\uc124\uc815 \ub2e4\uc6b4\ub85c\ub4dc\n<pre><code class=\"language-Python\">[root@localhost ~]# tar -zxf mysql-5.6.34-linux-glibc2.5-x86_64.tar.gz\r\n[root@localhost ~]# mv mysql-5.6.34-linux-glibc2.5-x86_64 \/svc\/mysql\r\n[root@localhost ~]# mv -f my.cnf \/etc\/my.cnf\r\n[root@localhost ~]# cp \/svc\/mysql\/\r\n[root@localhost ~]# .\/scripts\/mysql_install_db --user=mysql --datadir=\/svc\/db_data\/\r\n[root@localhost ~]# chown -R root: \/svc\/mysql\/\r\n[root@localhost ~]# chown -R mysql: \/svc\/db_data\/\r\n[root@localhost ~]# cp support-files\/mysql.server \/etc\/init.d\/mysqld\r\n[root@localhost ~]# chmod +x \/etc\/init.d\/mysqld<\/code><\/pre>\n<\/li>\n<li>\u00a0\uc11c\ube44\uc2a4 \ub4f1\ub85d \ubc0f \uc2e4\ud589\n<pre><code class=\"language-Python\">[root@localhost ~]# \/etc\/init.d\/mysqld start\r\nStarting mysqld: [ OK ]<\/code><\/pre>\n<\/li>\n<\/ol>\n<\/div>\n<\/li>\n<li>MYSQL \uc774\uc911\ud654 \uad6c\uc1311. \uc11c\ubc84 ID\uc124\uc815 (Active\/Standby \ubaa8\ub450 \uc124\uc815)\n<pre><code class=\"language-Python\">[root@localhost ~]# vi \/etc\/my.cnf\r\n\u2026\r\nserver-id = 1 (Active\ub294 1, Standby\ub294 2\ub85c \uc124\uc815)<\/code><\/pre>\n<div>\n<div>\n<div class=\"box\">\n<div class=\"code\">\n<div class=\"linenoswrapper\">\n<div><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<ol>\n<li>\ub9ac\ud50c\ub9ac\ucf00\uc774\uc158 \uad8c\ud55c \uc124\uc815\uc11c\ubc84 \ub9ac\ud50c\ub9ac\ucf00\uc774\uc158 \uc124\uc815 (Active\/Standby \ubaa8\ub450 \uc124\uc815)\n<pre><code class=\"language-SQL\">mysql&gt; grant replication slave on . to 'repl'@'\uc0c1\ub300\ubc29DB_IP' identified by 'repl';\r\nmysql&gt; flush privileges;\r\nQuery OK, 0 rows affected (0.00 sec)<\/code><\/pre>\n<\/li>\n<li>\uc561\ud2f0\ube0c \uc11c\ubc84\uc5d0\uc11c \uc218\ud589\n<pre><code class=\"language-SQL\">mysql&gt; show master status \\G;\r\n\r\n1. row ***************************\r\nFile: binlog.000004\r\nPosition: 722\r\nBinlog_Do_DB:\r\nBinlog_Ignore_DB:\r\nExecuted_Gtid_Set:\r\n1 row in set (0.00 sec)\r\n\r\nERROR:\r\nNo query specified<\/code><\/pre>\n<\/li>\n<li>\uc2a4\ud0e0\ubc14\uc774\uc11c\ubc84\uc5d0\uc11c \uc218\ud589\n<pre><code class=\"language-SQL\">mysql&gt; change master to master_host='\uc0c1\ub300\ubc29DB_IP', master_user='repl', master_password='repl', master_log_file='binlog.000004', master_log_pos=722;\r\nQuery OK, 0 rows affected, 2 warnings (0.02 sec)<\/code><\/pre>\n<\/li>\n<li>\ub9ac\ud50c\ub9ac\ucf00\uc774\uc158 \uc5f0\ub3d9 (\uac01 DB\uc11c\ubc84\uc5d0\uc11c \uc218\ud589)\n<pre><code class=\"language-SQL\">mysql&gt; start slave;\r\nQuery OK, 0 rows affected (0.00 sec)<\/code><\/pre>\n<\/li>\n<li>Standby \uc2dc\uc791 \ubc0f \uc0c1\ud0dc \ud655\uc778 (Active\/Standby \ubaa8\ub450 \uc124\uc815)\n<pre><code class=\"language-SQL\">mysql&gt; show slave status \\G;\r\n*************************** 1. row ***************************\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Slave_IO_State: Waiting for master to send event\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Master_Host: \uc0c1\ub300\ubc29DB_IP\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Master_User: repl\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Master_Port: 3306\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Connect_Retry: 60\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Master_Log_File: binlog.000004\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Read_Master_Log_Pos: 722\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Relay_Log_File: relay-bin.000007\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Relay_Log_Pos: 280\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Relay_Master_Log_File: binlog.000005\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Slave_IO_Running: Yes\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Slave_SQL_Running: Yes\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Replicate_Do_DB:\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Replicate_Ignore_DB:\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Replicate_Do_Table:\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Replicate_Ignore_Table:\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Replicate_Wild_Do_Table:\r\n\u00a0\u00a0Replicate_Wild_Ignore_Table:\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Last_Errno: 0\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Last_Error:\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Skip_Counter: 0\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Exec_Master_Log_Pos: 120\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Relay_Log_Space: 607\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Until_Condition: None\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Until_Log_File:\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Until_Log_Pos: 0\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Master_SSL_Allowed: No\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Master_SSL_CA_File:\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Master_SSL_CA_Path:\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Master_SSL_Cert:\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Master_SSL_Cipher:\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Master_SSL_Key:\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Seconds_Behind_Master: 0\r\nMaster_SSL_Verify_Server_Cert: No\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Last_IO_Errno: 0\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Last_IO_Error:\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Last_SQL_Errno: 0\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Last_SQL_Error:\r\n\u00a0\u00a0Replicate_Ignore_Server_Ids:\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Master_Server_Id: 1\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Master_UUID: 2667fd34-0483-11e7-b59d-525400a0f91d\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Master_Info_File: \/svc\/db_data\/master.info\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0SQL_Delay: 0\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0SQL_Remaining_Delay: NULL\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Slave_SQL_Running_State: Slave has read all relay log; waiting for the slave I\/O thread to update it\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Master_Retry_Count: 86400\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Master_Bind:\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Last_IO_Error_Timestamp:\r\n\u00a0\u00a0\u00a0\u00a0\u00a0Last_SQL_Error_Timestamp:\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Master_SSL_Crl:\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Master_SSL_Crlpath:\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Retrieved_Gtid_Set:\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Executed_Gtid_Set:\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Auto_Position: 0\r\n1 row in set (0.00 sec)\r\n\r\nERROR:\r\nNo query specified<\/code><\/pre>\n<\/li>\n<\/ol>\n<\/div>\n<\/li>\n<\/ol>\n<h3 id=\"bkmrk-mysql-mmm-%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0\" class=\"wikigeneratedid\"><span class=\"ez-toc-section\" id=\"Mysql-MMM_%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0\"><\/span>Mysql-MMM \uc124\uce58\ud558\uae30<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ol id=\"bkmrk-mysql-mmm%EA%B5%AC%EC%84%B1%EB%8F%84%C2%A0-mmm%28mu\">\n<li>Mysql-MMM\uad6c\uc131\ub3c4<\/li>\n<li>MMM(Multi-Master Replication Manager for MySQL)\uc740 \ub9ac\ud50c\ub9ac\ucf00\uc774\uc158\uc73c\ub85c DB\ub370\uc774\ud130\ub97c \uc774\uc911\ud654\ud588\uc744\ub54c, \uac01 DBMS\ubcc4\ub85c \uc0c1\ud0dc \ud655\uc778\ud558\uc5ec ReadWrite, Readonly VIP\ub97c \uad00\ub9ac\ud558\uae30 \uc704\ud55c \uc624\ud508\uc18c\uc2a4<\/li>\n<li>\uc11c\ubc84\ubcc4 \uc124\uce58 Component\n<div>\n<table>\n<tbody>\n<tr>\n<th scope=\"col\"><strong>\ub300\uc0c1\uc11c\ubc84<\/strong><\/th>\n<th scope=\"col\"><strong>Component<\/strong><\/th>\n<th scope=\"col\"><strong>\uc5ed \ud560<\/strong><\/th>\n<\/tr>\n<tr>\n<td>svcdb\/dashboard_db<\/td>\n<td>Mysql, mmm-agent<\/td>\n<td>Mysql, \ub370\uc774\ud130 \ub3d9\uae30\ud654, mmm \uc0c1\ud0dc\ud655\uc778<\/td>\n<\/tr>\n<tr>\n<td>db monitor<\/td>\n<td>mmm-monitor<\/td>\n<td>\uac01 Agent\ubcc4 Healthcheck, VIP \uad00\ub9ac<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/li>\n<li>MMM\uc811\uadfc \uc124\uc815 (DB\uc11c\ubc84)\n<pre><code class=\"language-SQL\">mysql&gt; grant process,super,replication client on . to 'agent'@'\uc790\uc2e0IP' identified by 'agent';\r\nQuery OK, 0 rows affected (0.00 sec)\r\nmysql&gt; flush privileges;\r\nQuery OK, 0 rows affected (0.00 sec)<\/code><\/pre>\n<\/li>\n<li>MMM-agent \uc124\uce58 (DB\uc11c\ubc84)\ubaa8\ub2c8\ud130 \uc811\uadfc \ud5c8\uc6a9\ud558\uae30 (DB\uc11c\ubc84)\n<pre><code class=\"language-SQL\">mysql&gt; GRANT REPLICATION CLIENT ON . TO 'monitor'@'MONITOR\uc11c\ubc84IP' IDENTIFIED BY 'monitor';\r\n1 row in set (0.00 sec)\r\nmysql&gt; flush privileges;\r\nQuery OK, 0 rows affected (0.00 sec)<\/code><\/pre>\n<div>\n<div class=\"box\">\n<div class=\"code\">\n<div class=\"linenoswrapper\">\n<div><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/li>\n<\/ol>\n<h3 id=\"bkmrk-mmm-agent-%EC%84%A4%EC%B9%98\" class=\"wikigeneratedid\"><span class=\"ez-toc-section\" id=\"MMM_agent_%EC%84%A4%EC%B9%98\"><\/span>MMM agent \uc124\uce58<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ol id=\"bkmrk-%EC%84%A4%EC%B9%98%EC%97%90-%ED%95%84%EC%9A%94%ED%95%9C-%ED%8C%A8%ED%82%A4%EC%A7%80%C2%A0-mysql-m\">\n<li>\uc124\uce58\uc5d0 \ud544\uc694\ud55c \ud328\ud0a4\uc9c0\n<ol>\n<li>mysql-mmm-2.2.1-2.el6.noarch.rpm<\/li>\n<li>mysql-mmm-agent-2.2.1-2.el6.noarch.rpm<\/li>\n<li>mysql-mmm-tools-2.2.1-2.el6.noarch.rpm<br \/>\nOS\ud658\uacbd\uc5d0 \ub530\ub77c \uc885\uc18d\ub41c \ud328\ud0a4\uc9c0\uac00 \ud544\uc694\ud560 \uc218 \uc788\uc74c. \uc885\uc18d\ub41c \ud328\ud0a4\uc9c0\ub294 perl\uad00\ub828 \ud328\ud0a4\uc9c0\uac00 \uc124\uce58\ub418\uc5b4 \uc788\uc5b4\uc57c \ud568.<\/li>\n<\/ol>\n<\/li>\n<li>mmm-agent\uc124\uce58\n<pre><code class=\"language-Python\">[root@localhost ~]# yum install \u2013y mysql-mmm-2.2.1-2.el6.noarch.rpm\r\n[root@localhost ~]# yum install \u2013y mysql-mmm-agent-2.2.1-2.el6.noarch.rpm\r\n[root@localhost ~]# yum install \u2013y mysql-mmm-tools-2.2.1-2.el6.noarch.rpm<\/code><\/pre>\n<\/li>\n<li>mmm-common.conf \uc124\uc815\n<pre><code class=\"language-Python\">$&gt; vi \/etc\/mysql-mmm\/mmm_common.conf\r\nactive_master_role writer\r\n\r\n&lt;host default&gt;\r\ncluster_interface bond0 \u00a0#\uc11c\ubc84NIC \uc778\ud130\ud398\uc774\uc2a4 \uae30\uc7ac\r\npid_path \/var\/run\/mysql-mmm\/mmm_agentd.pid\r\nbin_path \/usr\/libexec\/mysql-mmm\/\r\nreplication_user repl #\ub9ac\ud50c\ub9ac\ucf00\uc774\uc158 \uc0ac\uc6a9\uc790 \uc785\ub825\r\nreplication_password repl #\ub9ac\ud50c\ub9ac\ucf00\uc774\uc158 \uc0ac\uc6a9\uc790 \ud328\uc2a4\uc6cc\ub4dc\r\nagent_user agent #mmm\uc744 \ud1b5\ud574 DBMS\ub85c \uc811\uadfc\ud560 \uc0ac\uc6a9\uc790 \uc785\ub825\r\nagent_password agentpass #\ud328\uc2a4\uc6cc\ub4dc \uc785\ub825\r\n&lt;\/host&gt;\r\n\r\n&lt;host db1&gt;\r\nip Mater \uc11c\ubc84IP\r\nmode master\r\npeer db2\r\n&lt;\/host&gt;\r\n\r\n&lt;host db2&gt;\r\nip Standby \uc11c\ubc84IP\r\nmode master\r\npeer db1\r\n&lt;\/host&gt;\r\n\r\n&lt;role writer&gt;\r\nhosts db1, db2\r\nips DB VIP\r\nmode exclusive\r\n&lt;\/role&gt;<\/code><\/pre>\n<\/li>\n<li>mmm &#8211; mmm_agent.conf \uc124\uc815\n<pre><code class=\"language-Python\">$&gt; vi \/etc\/mysql-mmm\/mmm_agent.conf\r\ninclude mmm_common.conf\r\n\r\n# The 'this' variable refers to this server. Proper operation requires\r\n# that 'this' server (db1 by default), as well as all other servers, have the\r\n# proper IP addresses set in mmm_common.conf.\r\n\r\nthis db1 # Active\ub294 db1, Standby\ub294 db2\ub85c \uae30\uc7ac<\/code><\/pre>\n<\/li>\n<li>mmm-agent \uc11c\ube44\uc2a4 \uc2e4\ud589 \ud6c4 \ud504\ub85c\uc138\uc2a4 \uc0c1\ud0dc \ud655\uc778\n<pre><code class=\"language-Python\">[root@localhost ~]# \/etc\/init.d\/mysql-mmm-agent start\r\nStarting mmm_agentd: [ OK ]\r\n\r\n\r\n[root@localhost ~]# ps -ef | grep mmm\r\nroot 8052 8031 0 10:12 pts\/0 00:00:00 grep mmm\r\nroot 18251 1 0 2016 ? 00:00:00 mmm_agentd\r\nroot 18253 18251 0 2016 ? 04:03:18 mmm_agentd<\/code><\/pre>\n<\/li>\n<\/ol>\n<h3 id=\"bkmrk-mmm-monitor-%EC%84%A4%EC%B9%98-%28sati\" class=\"wikigeneratedid\"><span class=\"ez-toc-section\" id=\"MMM-monitor_%EC%84%A4%EC%B9%98_Satistics2_%EC%84%9C%EB%B2%84\"><\/span>MMM-monitor \uc124\uce58 (Satistics#2 \uc11c\ubc84)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ol id=\"bkmrk-%EC%84%A4%EC%B9%98%EC%97%90-%ED%95%84%EC%9A%94%ED%95%9C-%ED%8C%A8%ED%82%A4%EC%A7%80-mysql-mm\">\n<li>\uc124\uce58\uc5d0 \ud544\uc694\ud55c \ud328\ud0a4\uc9c0\n<ol>\n<li>mysql-mmm-2.2.1-2.el6.noarch.rpm<\/li>\n<li>mysql-mmm-monitor-2.2.1-2.el6.noarch.rpm<\/li>\n<li>mysql-mmm-tools-2.2.1-2.el6.noarch.rpm<br \/>\nOS\ud658\uacbd\uc5d0 \ub530\ub77c \uc885\uc18d\ub41c \ud328\ud0a4\uc9c0\uac00 \ud544\uc694\ud560 \uc218 \uc788\uc74c. \uc885\uc18d\ub41c \ud328\ud0a4\uc9c0\ub294 perl\uad00\ub828 \ud328\ud0a4\uc9c0\uac00 \uc124\uce58\ub418\uc5b4 \uc788\uc5b4\uc57c \ud568.<\/li>\n<\/ol>\n<\/li>\n<li>svcdb\uc6a9 MMM \uc124\uc815\n<pre><code class=\"language-Python\">$&gt; vi \/etc\/mysql-mmm\/mmm_common_svcdb.conf\r\n\r\nactive_master_role writer\r\n\r\n&lt;host default&gt;\r\ncluster_interface bond0 \uf0e0 \uc11c\ubc84NIC \uc778\ud130\ud398\uc774\uc2a4 \uae30\uc7ac\r\npid_path \/var\/run\/mysql-mmm\/mmm_agentd_svcdb.pid\r\nbin_path \/usr\/libexec\/mysql-mmm\/\r\nreplication_user repl \uf0e0 \ub9ac\ud50c\ub9ac\ucf00\uc774\uc158 \uc0ac\uc6a9\uc790 \uc785\ub825\r\nreplication_password repl \uf0e0 \ub9ac\ud50c\ub9ac\ucf00\uc774\uc158 \uc0ac\uc6a9\uc790 \ud328\uc2a4\uc6cc\ub4dc\r\nagent_user agent \uf0e0 mmm\uc744 \ud1b5\ud574 DBMS\ub85c \uc811\uadfc\ud560 \uc0ac\uc6a9\uc790 \uc785\ub825\r\nagent_password agentpass \uf0e0 \ud328\uc2a4\uc6cc\ub4dc \uc785\ub825\r\n&lt;\/host&gt;\r\n\r\n&lt;host db1&gt;\r\nip svcdb Mater \uc11c\ubc84IP\r\nmode master\r\npeer db2\r\n&lt;\/host&gt;\r\n\r\n&lt;host db2&gt;\r\nip svcdb Standby \uc11c\ubc84IP\r\nmode master\r\npeer db1\r\n&lt;\/host&gt;\r\n\r\n&lt;role writer&gt;\r\nhosts db1, db2\r\nips svcdb VIP\r\nmode exclusive\r\n&lt;\/role&gt;\r\n\r\n\r\n$&gt; vi \/etc\/mysql-mmm\/mmm_mon_svcdb.conf\r\n\r\ninclude mmm_common_svcdb.conf\r\n\r\n&lt;monitor&gt;\r\nip 127.0.0.1\r\npid_path \/var\/run\/mysql-mmm\/mmm_mond_svcdb.pid\r\nbin_path \/usr\/libexec\/mysql-mmm\r\nstatus_path \/var\/lib\/mysql-mmm\/mmm_mond_svcdb.status\r\nping_ips svcdb RIP \uf0e0 IP\ub294 \ucf64\ub9c8(,)\ub85c \uad6c\ubd84\r\nauto_set_online 60\r\nport 9991\r\n&lt;\/monitor&gt;\r\n\r\n&lt;host default&gt;\r\nmonitor_user mmm_monitor \uf0e0 mmm \uc811\uadfc \uc0ac\uc6a9\uc790\r\nmonitor_password monitorpw \uf0e0 mmm \ud328\uc2a4\uc6cc\ub4dc\uc815\ubcf4\r\n&lt;\/host&gt;\r\ndebug 0\r\n\r\n\r\n$&gt; vi \/etc\/mysql-mmm\/mmm_mon_log_svcdb.conf\r\nlog4perl.logger = INFO, MMMLog\r\n\r\nlog4perl.appender.MMMLog = Log::Log4perl::Appender::File\r\nlog4perl.appender.MMMLog.Threshold = INFO\r\nlog4perl.appender.MMMLog.filename = \/var\/log\/mysql-mmm\/mmm_mond_svcdb.log\r\nlog4perl.appender.MMMLog.recreate = 1\r\nlog4perl.appender.MMMLog.layout = PatternLayout\r\nlog4perl.appender.MMMLog.layout.ConversionPattern = %d %5p %m%n<\/code><\/pre>\n<\/li>\n<li>\uc11c\ube44\uc2a4 \ub4f1\ub85d\n<div>\n<ol>\n<li>init.d\uc2a4\ud06c\ub9bd\ud2b8 \ubcf5\uc0ac\n<pre><code class=\"language-Python\">[root@localhost ~]# cp \/etc\/init.d\/mysql-mmm-monitor \/etc\/init.d\/mysql-mmm-svcdb<\/code><\/pre>\n<p>&nbsp;<\/p>\n<div>\n<div class=\"box\">\n<div class=\"code\"><\/div>\n<\/div>\n<\/div>\n<\/li>\n<li>\uc2a4\ud06c\ub9bd\ud2b8 \uc218\uc815\n<pre><code class=\"language-Python\">$&gt; vi \/etc\/init.d\/mysql-mmm-svcdb\r\n#!\/bin\/sh\r\n#\r\n# mysql-mmm-monitor \u00a0This shell script takes care of starting and stopping\r\n# \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0the mmm monitoring daemon.\r\n#\r\n# chkconfig: - 64 36\r\n# description: \u00a0MMM Monitor.\r\n# processname: mmm_mond\r\n# config: \/etc\/mysql-mmm\/mmm_mon.conf\r\n# pidfile: \/var\/run\/mysql-mmm\/mmm_mond.pid\r\n\r\n# Source function library and defaults file.\r\n. \/etc\/rc.d\/init.d\/functions\r\n. \/etc\/default\/mysql-mmm-monitor\r\n\r\n# Cluster name (it can be empty for default cases)\r\nCLUSTER='svcdb'\r\nLOCKFILE='\/var\/lock\/subsys\/mysql-mmm-monitor'\r\nprog='MMM Monitor Daemon'\r\n\r\nif [ \"$CLUSTER\" != \"\" ]; then\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0MMMD_MON_BIN=\"\/usr\/sbin\/mmm_mond @$CLUSTER\"\r\nMMMD_MON_PIDFILE=\"\/var\/run\/mysql-mmm\/mmm_mond_$CLUSTER.pid\"\r\nelse\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0MMMD_MON_BIN=\"\/usr\/sbin\/mmm_mond\"\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0MMMD_MON_PIDFILE=\"\/var\/run\/mysql-mmm\/mmm_mond.pid\"\r\nFi<\/code><\/pre>\n<\/li>\n<\/ol>\n<\/div>\n<\/li>\n<li>dashboard_db MMM\uc124\uc815\n<pre><code class=\"language-Python\">$&gt; vi \/etc\/mysql-mmm\/mmm_common_dashboard_db.conf\r\nactive_master_role writer\r\n\r\n&lt;host default&gt;\r\ncluster_interface bond0 \uf0e0 \uc11c\ubc84NIC \uc778\ud130\ud398\uc774\uc2a4 \uae30\uc7ac\r\npid_path \/var\/run\/mysql-mmm\/mmm_agentd-cssatdb.pid\r\nbin_path \/usr\/libexec\/mysql-mmm\/\r\nreplication_user repl \uf0e0 \ub9ac\ud50c\ub9ac\ucf00\uc774\uc158 \uc0ac\uc6a9\uc790 \uc785\ub825\r\nreplication_password repl \uf0e0 \ub9ac\ud50c\ub9ac\ucf00\uc774\uc158 \uc0ac\uc6a9\uc790 \ud328\uc2a4\uc6cc\ub4dc\r\nagent_user agent \uf0e0 mmm\uc744 \ud1b5\ud574 DBMS\ub85c \uc811\uadfc\ud560 \uc0ac\uc6a9\uc790 \uc785\ub825\r\nagent_password agentpass \uf0e0 \ud328\uc2a4\uc6cc\ub4dc \uc785\ub825\r\n&lt;\/host&gt;\r\n\r\n&lt;host db1&gt;\r\nip dashboard_db Mater \uc11c\ubc84IP\r\nmode master\r\npeer db2\r\n&lt;\/host&gt;\r\n\r\n&lt;host db2&gt;\r\nip dashboard_db Standby \uc11c\ubc84IP\r\nmode master\r\npeer db1\r\n&lt;\/host&gt;\r\n\r\n&lt;role writer&gt;\r\nhosts db1, db2\r\nips dashboard_db VIP\r\nmode exclusive\r\n&lt;\/role&gt;\r\n\r\n\r\n$&gt; vi \u00a0\/etc\/mysql-mmm\/mmm_mon_dashboard_db.conf\r\ninclude mmm_common_dashboard_db.conf\r\n\r\n&lt;monitor&gt;\r\nip 127.0.0.1\r\npid_path \/var\/run\/mysql-mmm\/mmm_mond_dashboard_db.pid\r\nbin_path \/usr\/libexec\/mysql-mmm\r\nstatus_path \/var\/lib\/mysql-mmm\/mmm_mond_dashboard_db.status\r\nping_ips dashboard_db RIP\uc785\ub825 \uf0e0 IP\ub294 \ucf64\ub9c8(,)\ub85c \uad6c\ubd84\r\nauto_set_online 60\r\nport 9990\r\n&lt;\/monitor&gt;\r\n\r\n&lt;host default&gt;\r\nmonitor_user mmm_monitor \uf0e0 mmm \uc811\uadfc \uc0ac\uc6a9\uc790\r\nmonitor_password monitorpw \uf0e0 mmm \ud328\uc2a4\uc6cc\ub4dc\uc815\ubcf4\r\n&lt;\/host&gt;\r\n\r\ndebug 0\r\n\r\n\r\n$&gt; vi \/etc\/mysql-mmm\/mmm_mon_log_dashboard_db.conf\r\nlog4perl.logger = INFO, MMMLog\r\n\r\nlog4perl.appender.MMMLog = Log::Log4perl::Appender::File\r\nlog4perl.appender.MMMLog.Threshold = INFO\r\nlog4perl.appender.MMMLog.filename = \/var\/log\/mysql-mmm\/mmm_mond_dashboard_db.log\r\nlog4perl.appender.MMMLog.recreate = 1\r\nlog4perl.appender.MMMLog.layout = PatternLayout\r\nlog4perl.appender.MMMLog.layout.ConversionPattern = %d %5p %m%n<\/code><\/pre>\n<div>\n<div>\n<div class=\"box\">\n<div class=\"code\">\n<div class=\"linenoswrapper\">\n<div><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<ol>\n<li>\uc11c\ube44\uc2a4 \ub4f1\ub85d<\/li>\n<li>init.d\uc2a4\ud06c\ub9bd\ud2b8 \ubcf5\uc0ac\n<pre><code class=\"language-Python\">[root@localhost ~]# cp \/etc\/init.d\/mysql-mmm-monitor \/etc\/init.d\/mysql-mmm-dashboard_db<\/code><\/pre>\n<p>&nbsp;<\/p>\n<div>\n<div class=\"box\">\n<div class=\"code\"><\/div>\n<\/div>\n<\/div>\n<\/li>\n<\/ol>\n<\/div>\n<\/li>\n<li>init.d\uc2a4\ud06c\ub9bd\ud2b8 \ub0b4\uc6a9\ubcc0\uacbd\n<pre><code class=\"language-Python\">%&gt; vi \/etc\/init.d\/mysql-mmm-dashboard_db\r\n\r\n#!\/bin\/sh\r\n\r\n\r\n\r\nmysql-mmm-monitor This shell script takes care of starting and stopping\r\n\r\nthe mmm monitoring daemon.\r\n\r\n\r\n\r\nchkconfig: - 64 36\r\n\r\ndescription: MMM Monitor.\r\n\r\nprocessname: mmm_mond\r\n\r\nconfig: \/etc\/mysql-mmm\/mmm_mon.conf\r\n\r\npidfile: \/var\/run\/mysql-mmm\/mmm_mond.pid\r\n\r\n\r\nSource function library and defaults file.\r\n. \/etc\/rc.d\/init.d\/functions\r\n. \/etc\/default\/mysql-mmm-monitor\r\n\r\n\r\nCluster name (it can be empty for default cases)\r\nCLUSTER='dashboard_db'\r\nLOCKFILE='\/var\/lock\/subsys\/mysql-mmm-monitor'\r\nprog='MMM Monitor Daemon'\r\n\r\nif [ \"$CLUSTER\" != \"\" ]; then\r\nMMMD_MON_BIN=\"\/usr\/sbin\/mmm_mond @$CLUSTER\"\r\nMMMD_MON_PIDFILE=\"\/var\/run\/mysql-mmm\/mmm_mond_$CLUSTER.pid\"\r\nelse\r\nMMMD_MON_BIN=\"\/usr\/sbin\/mmm_mond\"\r\nMMMD_MON_PIDFILE=\"\/var\/run\/mysql-mmm\/mmm_mond.pid\"\r\nfi<\/code><\/pre>\n<\/li>\n<li>Centos7 \ud658\uacbd\uc5d0\uc11cMMM-monitor\ub4f1\ub85d&nbsp;<\/li>\n<li>systemctl \uc11c\ube44\uc2a4 \uc0dd\uc131 \ubc0f \ub4f1\ub85d\n<pre><code class=\"language-Python\">[root@localhost ~]# cd \/usr\/lib\/systemd\/system\r\n[root@localhost system]# cp mysql-mmm-monitor.service mysql-mmm-monitor_svcdb.service\r\n[root@localhost system]# cp mysql-mmm-monitor.service mysql-mmm-monitor_dashboard_db.service\r\n[root@localhost system]# systemctl enable mysql-mmm-monitor_svcdb.service\r\n[root@localhost system]# systemctl enable mysql-mmm-monitor_dashboard_db.service\r\n\r\n$&gt; vi \/usr\/lib\/systemd\/system\/ mysql-mmm-monitor_svcdb.service\r\n[Unit]\r\nDescription=MySQL MMM Monitor\r\nAfter=network.target mysqld.service\r\n\r\n[Service]\r\nType=forking\r\nPIDFile=\/var\/run\/mmm_mond_svcdb.pid\r\nExecStart=\/etc\/init.d\/mysql-mmm-monitor-svcdb start\r\nExecStop=\/etc\/init.d\/mysql-mmm-monitor-svcdb stop\r\nPrivateTmp=true\r\n\r\n[Install]\r\nWantedBy=multi-user.target\r\n\r\n\r\n$&gt; vi \/usr\/lib\/systemd\/system\/ mysql-mmm-monitor_dashboard_db.service\r\n[Unit]\r\nDescription=MySQL MMM Monitor\r\nAfter=network.target mysqld.service\r\n\r\n[Service]\r\nType=forking\r\nPIDFile=\/var\/run\/mmm_mond_svcdb.pid\r\nExecStart=\/etc\/init.d\/mysql-mmm-monitor-dashboard_db start\r\nExecStop=\/etc\/init.d\/mysql-mmm-monitor-dashboard_db stop\r\nPrivateTmp=true\r\n\r\n[Install]\r\nWantedBy=multi-user.target<\/code><\/pre>\n<\/li>\n<li>\uc11c\ube44\uc2a4 \uc2e4\ud589\n<div>\n<ol>\n<li>MMM-monitor \uc11c\ube44\uc2a4 \uc2e4\ud589 (monitor\uc11c\ubc84\uc5d0\uc11c \uc2e4\ud589)\n<pre><code class=\"language-Python\">[root@localhost ~]# \/etc\/init.d\/mysql-mmm-svcdb start\r\nStarting mmm_mond: [ OK ]\r\n[root@localhost ~]# \/etc\/init.d\/mysql-mmm-dashboard_db start\r\nStarting mmm_mond: [ OK ]<\/code><\/pre>\n<\/li>\n<li>Mysql \ud504\ub85c\uc138\uc2a4 \uc2e4\ud589 \uc0c1\ud0dc \ud655\uc778\uc11c\ube44\uc2a4 \uc0c1\ud0dc \ud655\uc778 (db\uc11c\ubc84\uc5d0\uc11c \uc2e4\ud589)\n<pre><code class=\"language-Python\">[root@localhost ~]# ps \u2013ef | grep mysql\r\nroot 6714 1 0 Jan08 ? 00:00:00 \/bin\/sh \/usr\/local\/mysql\/bin\/mysqld_safe --datadir=\/home\/mysqldata --pid-file=\/home\/mysqldata\/localhost.pid\r\nmysql 7856 6714 0 Jan08 ? 00:26:50 \/usr\/local\/mysql\/bin\/mysqld --basedir=\/usr\/local\/mysql --datadir=\/home\/mysqldata --plugin-dir=\/usr\/local\/mysql\/lib\/plugin --user=mysql --log-error=\/home\/mysqldata\/error.log --open-files-limit=8192 --pid-file=\/home\/mysqldata\/localhost.pid --socket=\/tmp\/mysql.sock --port=3306<\/code><\/pre>\n<\/li>\n<li>Mysql \ucffc\ub9ac \ucc98\ub9ac\uc5ec\ubd80 \ud655\uc778\n<pre><code class=\"language-Python\">[root@localhost ~]# mysql -u root -p'root\ud328\uc2a4\uc6cc\ub4dc' -e'select now()'\r\n2017-03-12 19:06:14<\/code><\/pre>\n<\/li>\n<li>Mmm \ud504\ub85c\uc138\uc2a4\uc0c1\ud0dc \ud655\uc778\n<pre><code class=\"language-Python\">[root@localhost ~]# ps -ef | grep mmm\r\nroot 10832 1 0 Mar07 ? 00:00:00 mmm_mond-dashboard_db\r\nroot 10834 10832 0 Mar07 ? 00:04:27 mmm_mond-dashboard_db\r\nroot 10843 10834 0 Mar07 ? 00:01:49 perl \/usr\/libexec\/mysql-mmm\/monitor\/checker @dashboard_db ping_ip\r\nroot 10846 10834 0 Mar07 ? 00:01:03 perl \/usr\/libexec\/mysql-mmm\/monitor\/checker @dashboard_db mysql\r\nroot 10848 10834 0 Mar07 ? 00:00:35 perl \/usr\/libexec\/mysql-mmm\/monitor\/checker @dashboard_db ping\r\nroot 10850 10834 0 Mar07 ? 00:01:29 perl \/usr\/libexec\/mysql-mmm\/monitor\/checker @dashboard_db rep_backlog\r\nroot 10852 10834 0 Mar07 ? 00:01:28 perl \/usr\/libexec\/mysql-mmm\/monitor\/checker @dashboard_db rep_threads\r\nroot 10960 1 0 Mar07 ? 00:00:00 mmm_mond-svcdb\r\nroot 10962 10960 0 Mar07 ? 00:04:23 mmm_mond-svcdb\r\nroot 10969 10962 0 Mar07 ? 00:01:47 perl \/usr\/libexec\/mysql-mmm\/monitor\/checker @svcdb ping_ip\r\nroot 10972 10962 0 Mar07 ? 00:01:03 perl \/usr\/libexec\/mysql-mmm\/monitor\/checker @svcdb mysql\r\nroot 10974 10962 0 Mar07 ? 00:00:35 perl \/usr\/libexec\/mysql-mmm\/monitor\/checker @svcdb ping\r\nroot 10976 10962 0 Mar07 ? 00:01:27 perl \/usr\/libexec\/mysql-mmm\/monitor\/checker @svcdb rep_backlog\r\nroot 10978 10962 0 Mar07 ? 00:01:27 perl \/usr\/libexec\/mysql-mmm\/monitor\/checker @svcdb rep_threads\r\nroot 29560 27996 0 21:40 pts\/3 00:00:00 grep mmm<\/code><\/pre>\n<\/li>\n<li>MMM \uc774\uc911\ud654 \uc0c1\ud0dc \ud655\uc778 (dashboard_db)\n<pre><code class=\"language-Python\">[root@localhost ~]# mmm_control @dashboard_db show\r\ndb1(192.168.67.230) master\/ONLINE. Roles: writer(192.168.67.229)\r\ndb2(192.168.67.231) master\/ONLINE. Roles:<\/code><\/pre>\n<\/li>\n<li>MMM \uc774\uc911\ud654 \uc0c1\ud0dc \ud655\uc778 (svcdb)\n<pre><code class=\"language-Python\">[root@localhost ~]# mmm_control @svcdb show\r\ndb1(192.168.67.224) master\/ONLINE. Roles: writer(192.168.67.223)\r\ndb2(192.168.67.225) master\/ONLINE. Roles:<\/code><\/pre>\n<\/li>\n<li>DBMS\ubcc4 \uc0c1\ud0dc \ud655\uc778 (svcdb)\n<pre><code class=\"language-Python\">[root@localhost ~]# mmm_control @svcdb checks all\r\ndb2 ping [last change: 2017\/03\/09 11:03:42] OK\r\ndb2 mysql [last change: 2017\/03\/09 11:03:42] OK\r\ndb2 rep_threads [last change: 2017\/03\/09 11:03:42] OK\r\ndb2 rep_backlog [last change: 2017\/03\/09 06:02:35] OK: Backlog is null\r\ndb1 ping [last change: 2017\/03\/09 11:03:42] OK\r\ndb1 mysql [last change: 2017\/03\/09 11:03:42] OK\r\ndb1 rep_threads [last change: 2017\/03\/09 11:03:42] OK\r\ndb1 rep_backlog [last change: 2017\/03\/09 11:03:42] OK: Backlog is null<\/code><\/pre>\n<\/li>\n<li>DBMS\ubcc4 \uc0c1\ud0dc \ud655\uc778 (dashboard_db)\n<pre><code class=\"language-Python\">[root@localhost ~]# mmm_control @dashboard_db checks all\r\ndb2 ping [last change: 2017\/03\/09 10:58:37] OK\r\ndb2 mysql [last change: 2017\/03\/09 10:58:37] OK\r\ndb2 rep_threads [last change: 2017\/03\/09 10:58:37] OK\r\ndb2 rep_backlog [last change: 2017\/03\/09 10:58:37] OK: Backlog is null\r\ndb1 ping [last change: 2017\/03\/09 10:58:37] OK\r\ndb1 mysql [last change: 2017\/03\/09 10:58:37] OK\r\ndb1 rep_threads [last change: 2017\/03\/09 10:58:37] OK\r\ndb1 rep_backlog [last change: 2017\/03\/09 10:58:37] OK: Backlog is null<\/code><\/pre>\n<p>&nbsp;<\/p>\n<div>\n<div class=\"box\">\n<div class=\"code\"><\/div>\n<\/div>\n<\/div>\n<\/li>\n<\/ol>\n<\/div>\n<\/li>\n<\/ol>\n<h3 id=\"bkmrk-faq\" class=\"wikigeneratedid\"><span class=\"ez-toc-section\" id=\"FAQ\"><\/span>FAQ<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ol id=\"bkmrk-%EC%84%A4%EC%B9%98-%EA%B3%BC%EC%A0%95%EC%9D%98-%EC%98%A4%EB%A5%98-%ED%98%84%EC%83%81-rpm%EC%84%A4%EC%B9%98%EC%8B%9C-\">\n<li>\uc124\uce58 \uacfc\uc815\uc758 \uc624\ub958\n<div>\n<table>\n<tbody>\n<tr>\n<th scope=\"col\"><strong>\ud604\uc0c1<\/strong><\/th>\n<td>rpm\uc124\uce58\uc2dc \uc544\ub798\ub0b4\uc6a9\uc73c\ub85c \uba54\uc2dc\uc9c0 \ucd9c\ub825\ud6c4 \uc124\uce58 \uc2e4\ud328<br \/>\n[root@localhost ~]# rpm -Uvh 123.rpm<br \/>\nwarning: 123.rpm: Header V3 RSA\/SHA256 Signature, key ID 0608b895: NOKEY<br \/>\nerror: Failed dependencies:<br \/>\nperl(Log::Log4perl) is needed by mysql-mmm-2.2.1-2.el6.noarch<\/td>\n<\/tr>\n<tr>\n<th scope=\"row\"><strong>\uc6d0\uc778<\/strong><\/th>\n<td>MMM \uc124\uce58\uc2dc \uc885\uc18d\ub41c \ud328\ud0a4\uc9c0 \uc124\uce58 \uc2e4\ud328<\/td>\n<\/tr>\n<tr>\n<th scope=\"row\"><strong>\ud655\uc778\uc0ac\ud56d<\/strong><\/th>\n<td>perl-Proc-Daemon, perl-Proc-ProcessTable, perl-Log, perl-Mail \ud328\ud0a4\uc2dc \uc124\uce58\uc5ec\ubd80 \ud655\uc778<\/td>\n<\/tr>\n<tr>\n<th scope=\"row\"><strong>\uc870\uce58\ubc29\uc548<\/strong><\/th>\n<td>\uad00\ub828\ub41c \uc804\uccb4 \ud328\ud0a4\uc9c0 \ub0b4\ub824\ubc1b\uc740 \ud6c4 \uc124\uce58\uc791\uc5c5 \uc218\ud589<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/li>\n<li>MMM-monitor \uc11c\ube44\uc2a4 \uad6c\ub3d9 \uc2e4\ud328\ud604\uc0c1\n<div>\n<table>\n<tbody>\n<tr>\n<th scope=\"col\"><strong>\ud604\uc0c1<\/strong><\/th>\n<td>\uc124\uce58 \ubc0f \uc124\uc815\uc644\ub8cc\ud6c4 \uc11c\ube44\uc2a4 \uad6c\ub3d9\uc2dc \uad6c\ub3d9\ubd88\uac00<br \/>\n[root@localhost ~]# \/etc\/init.d\/mysql-mmm-dashboard_db-monitor start<br \/>\nStarting MMM Monitor Daemon: Configuration file \/etc\/mysql-mmm\/mmm_mon_dashboard_db.conf is world readable! at<br \/>\n\/usr\/share\/perl5\/vendor_perl\/MMM\/Common\/Config.pm line 132 [\uc2e4\ud328]<\/td>\n<\/tr>\n<tr>\n<th scope=\"row\"><strong>\uc6d0\uc778<\/strong><\/th>\n<td>Mmm config\uc758 \uad8c\ud55c \uc124\uc815\uc758 \uc624\ub958<\/td>\n<\/tr>\n<tr>\n<th scope=\"row\"><strong>\ud655\uc778\uc0ac\ud56d<\/strong><\/th>\n<td>\/etc\/mysql-mmm\/ \uacbd\ub85c\uc5d0 \uc788\ub294 config\ud30c\uc77c\uc758 \ud37c\ubbf8\uc158 \ud655\uc778<\/td>\n<\/tr>\n<tr>\n<th scope=\"row\"><strong>\uc870\uce58\ubc29\uc548<\/strong><\/th>\n<td>\uc804\uccb4 \ud37c\ubbf8\uc158\uc744 640\uc73c\ub85c \uc124\uc815 \uc218\ud589<br \/>\nChmod 640 \/etc\/mysql-mmm\/*.conf<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/li>\n<li>VIP\ud560\ub2f9 \uc2e4\ud328\n<div>\n<table>\n<tbody>\n<tr>\n<th scope=\"col\"><strong>\ud604\uc0c1<\/strong><\/th>\n<td>Mmm \uc11c\ube44\uc2a4 \uad6c\ub3d9 \ud6c4 IP\ud560\ub2f9\ubd88\uac00<\/td>\n<\/tr>\n<tr>\n<th scope=\"row\"><strong>\uc6d0\uc778<\/strong><\/th>\n<td>monitor\uc5d0\uc11c mysql\ub85c \uc811\uadfc\ud558\ub294 \uad8c\ud55c\uc774 \uc624\ub958\uac00 \uc788\uc5b4 mysql\uc0c1\ud0dc\uccb4\ud06c \ubd88\uac00<\/td>\n<\/tr>\n<tr>\n<th scope=\"row\"><strong>\ud655\uc778\uc0ac\ud56d<\/strong><\/th>\n<td>\/var\/log\/mysql-mmm\/mmm-agent.log\uc5d0\uc11c Can&#8217;t connect to MySQL sever \ubb38\uc790\uc5f4 \uc874\uc7ac\uc5ec\ubd80 \ud655\uc778<\/td>\n<\/tr>\n<tr>\n<th scope=\"row\"><strong>\uc870\uce58\ubc29\uc548<\/strong><\/th>\n<td>Mysql \uc811\uadfc\uad8c\ud55c \uc124\uc815<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/li>\n<li>MMM \ub9ac\uc18c\uc2a4 \ud655\uc778\uc2dc \uc911\ubcf5\ucd9c\ub825\n<div>\n<table>\n<tbody>\n<tr>\n<th scope=\"col\"><strong>\ud604\uc0c1<\/strong><\/th>\n<td>mmm_config\ub97c \ud1b5\ud574 DBMS\ubcc4 \uc0c1\ud0dc \ud655\uc778 \ubd88\uac00<\/td>\n<\/tr>\n<tr>\n<th scope=\"row\"><strong>\uc6d0\uc778<\/strong><\/th>\n<td>Group\ubcc4 \uc0dd\uc131\ub418\ub294 \ud3ec\ud2b8\ub97c \uc0dd\uc131\ud558\uc9c0 \uc54a\ub294 \uacbd\uc6b0 \ubc1c\uc0dd<\/td>\n<\/tr>\n<tr>\n<th scope=\"row\"><strong>\ud655\uc778\uc0ac\ud56d<\/strong><\/th>\n<td>\/etc\/mysql-mmm\/mmm_mon_svcdb.conf, \/etc\/mysql-mmm\/mmm_mon_svcdb.conf \ud30c\uc77c\uc548\uc5d0 port\ud56d\ubaa9\uc774 \uae30\uc7ac\ub418\uc5b4 \uc788\uace0, \uac01\uac01 \ub2e4\ub978 \ud3ec\ud2b8\ub97c \uc0ac\uc6a9\ud558\ub294\uc9c0 \ud655\uc778<\/td>\n<\/tr>\n<tr>\n<th scope=\"row\"><strong>\uc870\uce58\ubc29\uc548<\/strong><\/th>\n<td>dbms\ubcc4 \ud3ec\ud2b8 \uc124\uc815<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/li>\n<li>Centos7\uc5d0\uc11c mmm_monitor cluster \uad6c\uc131\uc2e4\ud328\n<div>\n<table>\n<tbody>\n<tr>\n<th scope=\"col\"><strong>\ud604\uc0c1<\/strong><\/th>\n<td>Systemctl\uc744 \uc774\uc6a9\ud55c mysql-monitor \uc11c\ube44\uc2a4 \uc791\ub3d9 \uc2e4\ud328<\/td>\n<\/tr>\n<tr>\n<th scope=\"row\"><strong>\uc6d0\uc778<\/strong><\/th>\n<td>Systemctl\uc744 \uc774\uc6a9\ud55c mmm-monitor\uc2e4\ud589\uc740 cluster\ubaa8\ub4dc\ub97c \uc9c0\uc6d0\ud558\uc9c0 \uc54a\uc74c<\/td>\n<\/tr>\n<tr>\n<th scope=\"row\"><strong>\ud655\uc778\uc0ac\ud56d<\/strong><\/th>\n<td>Systemctl \uad6c\ubb38\uc548\uc5d0 ExecStart \/ ExecStop \uad6c\ubb38\uc758 \uba85\ub839\uc5b4 \ud655\uc778<br \/>\n\/etc\/init.d\/mysql-mmm-monitor- \ud30c\uc77c\uc774 \uc788\ub294\uc9c0 \ud655\uc778<\/td>\n<\/tr>\n<tr>\n<th scope=\"row\"><strong>\uc870\uce58\ubc29\uc548<\/strong><\/th>\n<td>\uc124\uc815\ud30c\uc77c \ubc0f \uc11c\ube44\uc2a4 \uad6c\ub3d9 \uba85\ub839\uc5b4 \ud655\uc778<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>\uc548\ub155\ud558\uc138\uc694, \uace0\ub2c8\uc785\ub2c8\ub2e4. \uae30\uc874\uc5d0 \uc791\uc131\ub41c \ubb38\uc11c Refactoring \uc911\uc774\ub77c \uc5c5\ub370\uc774\ud2b8 \ud558\ud558\ub824\uace0 \ud569\ub2c8\ub2e4. perplexity\uc5d0\uc11c \uc0dd\uc131\ud55c AI\uc774\ubbf8\uc9c0 MYSQL \uc124\uce58 \uc124\uce58\ud658\uacbd&hellip;<\/p>\n","protected":false},"author":1,"featured_media":1423,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[381],"tags":[409,407],"class_list":["post-1421","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-mysqlmariadb","tag-mmm","tag-mysql-mmm"],"aioseo_notices":[],"_links":{"self":[{"href":"http:\/\/www.igoni.kr\/index.php?rest_route=\/wp\/v2\/posts\/1421","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.igoni.kr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.igoni.kr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.igoni.kr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.igoni.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1421"}],"version-history":[{"count":1,"href":"http:\/\/www.igoni.kr\/index.php?rest_route=\/wp\/v2\/posts\/1421\/revisions"}],"predecessor-version":[{"id":1425,"href":"http:\/\/www.igoni.kr\/index.php?rest_route=\/wp\/v2\/posts\/1421\/revisions\/1425"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/www.igoni.kr\/index.php?rest_route=\/wp\/v2\/media\/1423"}],"wp:attachment":[{"href":"http:\/\/www.igoni.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1421"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.igoni.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1421"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.igoni.kr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1421"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}