Vagrant上のMySQL(MariaDB)へMacから接続するまでの手順

<h1>Vagrantの設定</h1>
※centos7を前提としています。
<h2>Vagrantのネットワークの設定</h2>
<ol>
        <li>Vagrantfileの変更
         <pre>
            <code>$ vim Vagrantfile</code>
            <cite># config.vm.network :private_network, ip: "192.168.33.10"</cite>
            ↑ここのコメントアウトを削除</pre>
        </li>
        <li>Vagrantのリロード
        <pre><code>$ vagrant reload</code></pre>
        </li>
        <li>pingで接続確認（mac ターミナル）     
          1922.168.33.10というipアドレスで接続できるようになっているはず.
          <pre><code>
              $ ping 192.168.33.10<br>
              PING 192.168.33.10 (192.168.33.10): 56 data bytes
              64 bytes from 192.168.33.10: icmp_seq=0 ttl=64 time=0.268 ms
              64 bytes from 192.168.33.10: icmp_seq=1 ttl=64 time=0.624 ms
              64 bytes from 192.168.33.10: icmp_seq=2 ttl=64 time=0.794 ms
              ...</code></pre>
        </li>
        <li> sshで接続確認(mac ターミナル)
          <pre><code>$ ssh vagrant@'192.168.33.10'</code>
            passwordを入力.デフォルトは<strong>vagrant</strong></pre>
      </li>
      </ol>
</section>
<section>
<h2>mysqlを永続的に公開する</h2>
<ol>
 <li>サービスの公開設定
            <pre><code># firewall-cmd --permanent --add-service=mysql</code></pre>
 </li>
 <li>永続設定の反映<br>
            <pre><code># firewall-cmd --reload</code></pre>
          </li>
  <li>Firewalldサービスのリロード<br>
            <pre><code># systemctl reload firewalld.service</code></pre>
</li>
<li>設定内容の表示<br>
<pre><code># firewall-cmd --permanent --list-all</code><br>
  public (default, active)
  interfaces: enp0s3 enp0s8
  sources:
  services: dhcpv6-client <mark>mysql</mark> ssh
  ports:
  masquerade: no
  forward-ports:
  icmp-blocks:
  rich rules:
 </pre>
mysqlが追加されていればOK.
</li>
</ol>
</section>
      <section>
        <h1>MySQLの外部ホスト用アカウント追加</h1>
        <ol><li>vagrant上のmysqlにログイン<br>
                      <pre><code>$ mysql -u root -p</code>
                       Enter password:</pre>
          </li>
          <li>ユーザーの確認<br>
                        <pre><code>mysql> select user, host from mysql.user;</code></pre>
            hostカラムが<code>localhost</code>や<code>127.0.0.1</code>などローカルホストだけならば
            ローカルからの接続しかできない
          </li>
          <li>外部ホストからの接続の許可とユーザーの追加<br>
           	<pre><code>mysql> grant all privileges on \*.\* to root@"192.168.33.10" identified by 'パスワード' with grant option;</code></pre>
            この例の場合、<br>
            ホスト"192.168.33.10"のユーザー名がrootのユーザーへ、全データベース全テーブルに対するALL権限を付与している
          </li>
          <li>外部ホスト(Macターミナル)から接続確認<br>
              <pre><code>$ mysql -h 192.168.33.10 -u root -p</code>
              passwordは上記のidentified by 'パスワード'で指定したものを入力.</pre>
          </li>
        </ol>
      </section>
    </section>
  </section>
  <footer>
    <p>参考</p>
    <p><a href="http://linuxserver.jp/%E3%82%B5%E3%83%BC%E3%83%90%E6%A7%8B%E7%AF%89/db/mysql/%E5%A4%96%E9%83%A8%E6%8E%A5%E7%B6%9A%E8%A8%B1%E5%8F%AF%E8%A8%AD%E5%AE%9A.phphttp://linuxserver.jp/%E3%82%B5%E3%83%BC%E3%83%90%E6%A7%8B%E7%AF%89/db/mysql/%E5%A4%96%E9%83%A8%E6%8E%A5%E7%B6%9A%E8%A8%B1%E5%8F%AF%E8%A8%AD%E5%AE%9A.php">http://linuxserver.jp/%E3%82%B5%E3%83%BC%E3%83%90%E6%A7%8B%E7%AF%89/db/mysql/%E5%A4%96%E9%83%A8%E6%8E%A5%E7%B6%9A%E8%A8%B1%E5%8F%AF%E8%A8%AD%E5%AE%9A.php</a></p>
    <p><a href="http://qiita.com/inouet/items/b36638adc2b5772db457">http://qiita.com/inouet/items/b36638adc2b5772db457</a></p>
    <p><a href="http://www.kakiro-web.com/linux/firewalld.html">http://www.kakiro-web.com/linux/firewalld.html</a></p>
  </footer>