{"componentChunkName":"component---src-templates-post-template-jsx","path":"/works/posts/2021-03-03--001","result":{"data":{"site":{"siteMetadata":{"title":"Blog by Eunyoung","subtitle":"작업 기록 블로그","copyright":"© All rights reserved.","author":{"name":"EunYoung","twitter":"#"},"disqusShortname":"","url":"https://ssongey.github.io"}},"markdownRemark":{"id":"217cd820-778d-5ab2-86c3-631a854f7743","html":"<br>\n<p>MySQL MHA 테스트에 대한 작업 로그를 기록한다.  </p>\n<br>\n<p>시나리오</p>\n<ul>\n<li>Failover</li>\n<li>Failback</li>\n<li>Roll Change</li>\n<li>MHA Manager 기동</li>\n</ul>\n<p><span class=\"title__sub1\">■ 1. Failover</span></p>\n<ul>\n<li>\n<p>#1번서버  </p>\n<ul>\n<li>Ifconfig로 VIP up 확인 (master 확인)    </li>\n<li>\n<p>MySQL 종료 </p>\n<div class=\"gatsby-highlight\" data-language=\"shellscript\"><pre class=\"language-shellscript\"><code class=\"language-shellscript\">$ /usr/local/mysql/bin/mysqladmin -uroot -p shutdown</code></pre></div>\n</li>\n<li>Ifconfig 로 VIP down 확인</li>\n</ul>\n</li>\n<li>\n<p>#2번 서버</p>\n<ul>\n<li>VIP up 확인</li>\n<li>\n<p>MySQL Slave 상태 확인, empty 이면 정상적으로 failover 완료</p>\n<div class=\"gatsby-highlight\" data-language=\"sql\"><pre class=\"language-sql\"><code class=\"language-sql\">mysql<span class=\"token operator\">></span> <span class=\"token keyword\">show</span> slave <span class=\"token keyword\">status</span><span class=\"token punctuation\">;</span></code></pre></div>\n</li>\n</ul>\n</li>\n</ul>\n<p><span class=\"title__sub1\">■ 2. Failback</span></p>\n<ul>\n<li>수동작업 진행</li>\n<li>\n<p>#2번 서버</p>\n<ul>\n<li>\n<p>Data Dump</p>\n<div class=\"gatsby-highlight\" data-language=\"shellscript\"><pre class=\"language-shellscript\"><code class=\"language-shellscript\">$ mysqldump -u root -p --all-database &gt; dump.sql</code></pre></div>\n</li>\n<li>\n<p>Master Status 확인</p>\n<div class=\"gatsby-highlight\" data-language=\"shellscript\"><pre class=\"language-shellscript\"><code class=\"language-shellscript\">mysql&gt; show master status;</code></pre></div>\n</li>\n</ul>\n</li>\n<li>\n<p>#1번 서버</p>\n<ul>\n<li>\n<p>MySQL 기동</p>\n<div class=\"gatsby-highlight\" data-language=\"shellscript\"><pre class=\"language-shellscript\"><code class=\"language-shellscript\">$ /usr/local/mysql/bin/mysqld_safe --user=mysql &amp;</code></pre></div>\n</li>\n<li>\n<p>dump import</p>\n<div class=\"gatsby-highlight\" data-language=\"shellscript\"><pre class=\"language-shellscript\"><code class=\"language-shellscript\">$ mysql -u root -p &lt; dump.sql</code></pre></div>\n</li>\n<li>\n<p>Slave 등록</p>\n<div class=\"gatsby-highlight\" data-language=\"shellscript\"><pre class=\"language-shellscript\"><code class=\"language-shellscript\">// 해당 쿼리문은 MHA.log에 기록되어 있음\nmysql&gt; change master to master_host=[#2번서버 HOST], master_port=[PORT], \nmaster_user=[replication db user], master_password=[replication user password],\nmaster_log_file=[#2번 서버의 master log file], master_log_pos=[#2번 서버의 master log pos];</code></pre></div>\n</li>\n<li>\n<p>Slave 시작 및 확인</p>\n<div class=\"gatsby-highlight\" data-language=\"shellscript\"><pre class=\"language-shellscript\"><code class=\"language-shellscript\">mysql&gt; start slave;\nmysql&gt; show slave status;</code></pre></div>\n</li>\n<li>이중화 되었는지 데이터 확인</li>\n</ul>\n</li>\n</ul>\n<p><span class=\"title__sub1\">■ 3. Roll Change</span></p>\n<ul>\n<li>\n<p>#2번 서버</p>\n<ul>\n<li>Failover가 실행되면 MHA manager는 자동 종료되며, masterha_default.failover.complete 파일이 생성됨.</li>\n<li>Roll 변경 전 해당 파일 삭제 필요</li>\n<li>\n<p>masterha_master_switch 실행</p>\n<div class=\"gatsby-highlight\" data-language=\"shellscript\"><pre class=\"language-shellscript\"><code class=\"language-shellscript\">masterha_master_switch --master_state=alive --conf=/etc/mha.cnf --orig_master_is_new_slave --interactive=0</code></pre></div>\n</li>\n<li>VIP down 확인 </li>\n<li>\n<p>slave 상태 확인</p>\n<div class=\"gatsby-highlight\" data-language=\"shellscript\"><pre class=\"language-shellscript\"><code class=\"language-shellscript\">mysql&gt; show slave status;</code></pre></div>\n</li>\n</ul>\n</li>\n<li>\n<p>#1번 서버</p>\n<ul>\n<li>VIP up 확인</li>\n<li>master 및 slave 상태 확인</li>\n</ul>\n</li>\n</ul>\n<p><span class=\"title__sub1\">■ 4. MHA Manager 기동</span></p>\n<ul>\n<li>\n<p>#2번 서버</p>\n<ul>\n<li>\n<p>MHA Manager 현재 상태 확인</p>\n<div class=\"gatsby-highlight\" data-language=\"shellscript\"><pre class=\"language-shellscript\"><code class=\"language-shellscript\">$ /usr/bin/masterha_check_status --conf=/etc/mha.conf</code></pre></div>\n</li>\n<li>\n<p>MHA Manager 기동</p>\n<div class=\"gatsby-highlight\" data-language=\"shellscript\"><pre class=\"language-shellscript\"><code class=\"language-shellscript\">$ nohup /usr/bin/masterha_manager --conf=/etc/mha.cnf &amp;</code></pre></div>\n</li>\n</ul>\n</li>\n</ul>","fields":{"tagSlugs":["/tags/mysql/","/tags/mha/"],"slug":"/works/posts/2021-03-03--001"},"frontmatter":{"title":"[작업로그] MHA Failover, RollChange 테스트","tags":["mysql","mha"],"date":"2021-03-03","description":""}}},"pageContext":{"slug":"/works/posts/2021-03-03--001"}},"staticQueryHashes":[]}