<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
    <channel>
        <title>Binlog - 标签 - lihuu — 系统工程、AI 工具链与 Rust 开发博客</title>
        <link>https://silentstormic.top/tags/binlog/</link>
        <description>Binlog - 标签 - lihuu — 系统工程、AI 工具链与 Rust 开发博客</description>
        <generator>Hugo -- gohugo.io</generator><language>zh-CN</language><lastBuildDate>Tue, 04 Aug 2020 16:24:35 &#43;0800</lastBuildDate><atom:link href="https://silentstormic.top/tags/binlog/" rel="self" type="application/rss+xml" /><item>
    <title>MySQL备份方案</title>
    <link>https://silentstormic.top/post/MySQL%E5%A4%87%E4%BB%BD%E6%96%B9%E6%A1%88/</link>
    <pubDate>Tue, 04 Aug 2020 16:24:35 &#43;0800</pubDate>
    <author>lihuu</author>
    <guid>https://silentstormic.top/post/MySQL%E5%A4%87%E4%BB%BD%E6%96%B9%E6%A1%88/</guid>
    <description><![CDATA[<h4 id="备份前准备">备份前准备</h4>
<p>创建单独用于备份的用户，并授予相应的权限</p>
<div class="code-block code-line-numbers open" style="counter-reset: code-block 0">
    <div class="code-header language-sql">
        <span class="code-title"><i class="arrow fas fa-angle-right fa-fw" aria-hidden="true"></i></span>
        <span class="ellipses"><i class="fas fa-ellipsis-h fa-fw" aria-hidden="true"></i></span>
        <span class="copy" title="复制到剪贴板"><i class="far fa-copy fa-fw" aria-hidden="true"></i></span>
    </div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-sql" data-lang="sql"><span class="line"><span class="cl"><span class="k">create</span><span class="w"> </span><span class="k">user</span><span class="w"> </span><span class="n">db_backup</span><span class="o">@</span><span class="s1">&#39;localhost&#39;</span><span class="w"> </span><span class="n">identified</span><span class="w"> </span><span class="k">by</span><span class="w"> </span><span class="s1">&#39;backup123&#39;</span><span class="p">;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="k">grant</span><span class="w"> </span><span class="k">select</span><span class="p">,</span><span class="k">lock</span><span class="w"> </span><span class="n">tables</span><span class="p">,</span><span class="k">show</span><span class="w"> </span><span class="k">view</span><span class="p">,</span><span class="k">trigger</span><span class="p">,</span><span class="n">event</span><span class="w"> </span><span class="k">on</span><span class="w"> </span><span class="n">backup_database</span><span class="p">.</span><span class="o">*</span><span class="w"> </span><span class="k">to</span><span class="w"> </span><span class="n">db_backup</span><span class="o">@</span><span class="s1">&#39;localhost&#39;</span><span class="p">;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="k">grant</span><span class="w"> </span><span class="n">reload</span><span class="p">,</span><span class="n">Replication</span><span class="w"> </span><span class="n">client</span><span class="w"> </span><span class="k">on</span><span class="w"> </span><span class="o">*</span><span class="p">.</span><span class="o">*</span><span class="w"> </span><span class="k">to</span><span class="w"> </span><span class="n">db_backup</span><span class="o">@</span><span class="s1">&#39;localhost&#39;</span><span class="p">;</span></span></span></code></pre></div></div>
<h4 id="方案-1全量逻辑备份使用-mysqldump方案-1">方案 1：全量逻辑备份(使用 mysqldump,方案 1)</h4>
<p>备份</p>
<div class="code-block code-line-numbers open" style="counter-reset: code-block 0">
    <div class="code-header language-bash">
        <span class="code-title"><i class="arrow fas fa-angle-right fa-fw" aria-hidden="true"></i></span>
        <span class="ellipses"><i class="fas fa-ellipsis-h fa-fw" aria-hidden="true"></i></span>
        <span class="copy" title="复制到剪贴板"><i class="far fa-copy fa-fw" aria-hidden="true"></i></span>
    </div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="cp">#!/bin/bash
</span></span></span><span class="line"><span class="cl"><span class="nv">backup_file_name</span><span class="o">=</span>db_backup_<span class="sb">`</span>date <span class="s1">&#39;+%Y-%m-%d&#39;</span><span class="sb">`</span>.sql.gz
</span></span><span class="line"><span class="cl">mysqldump -udb_backup -pbackup123 --single-transaction --flush-logs --master-data<span class="o">=</span><span class="m">2</span> backup_database <span class="p">|</span> gzip &gt; <span class="nv">$backup_file_name</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="k">if</span> <span class="o">[</span> -e <span class="nv">$backup_file_name</span> <span class="o">]</span> <span class="p">;</span><span class="k">then</span>
</span></span><span class="line"><span class="cl">   <span class="nb">echo</span> <span class="s2">&#34;Start to copy files&#34;</span>
</span></span><span class="line"><span class="cl"><span class="c1">#   scp $backup_file_name  lihu@ubuntu-vm-02:/home/lihu</span>
</span></span><span class="line"><span class="cl"><span class="k">else</span>
</span></span><span class="line"><span class="cl">   <span class="nb">echo</span> <span class="s2">&#34;No file to copy&#34;</span>
</span></span><span class="line"><span class="cl"><span class="k">fi</span></span></span></code></pre></div></div>
<blockquote>
<p>额外的参数
<code>--skip-add-drop-table</code>：生成的备份文件中不要有 drop table 的语句，默认是有的。
<code>--no-data</code>：不导出数据，仅导出表结构
<code>--no-create-info</code>：不导出建表语句，仅导出数据</p>]]></description>
</item>
</channel>
</rss>
