その他
    ホーム 技術発信 DoRuby 仮想環境のMySQLを使用するための設定について

    仮想環境のMySQLを使用するための設定について

    この記事はアピリッツの技術ブログ「DoRuby」から移行した記事です。情報が古い可能性がありますのでご注意ください。

    ローカルマシンのホスト側から、仮想環境側のMySQLにアクセスする方法についてまとめます. (仮想環境は, VirtualBoxを利用)

    1. 仮想環境の設定

    VirtualBox NATの設定で、
    PortForwardingの設定を行う

    • HOSTポート: 53306
    • GUESTポート: 3306(ゲストのMySQLポート番号)

    2. 仮想マシン側MySQLの設定

    VirtualBox のNATは、ゲスト側からのホストIPが 10.0.2.2 に設定されている

    そのため、10.0.2.2のアクセスを許可させる必要がある

    $ mysql -u <ユーザ名> -p
    
    mysql> use mysql
    
    ユーザの作成
    mysql> CREATE USER '<ユーザ名>'@'10.0.2.2' IDENTIFIED BY '<パスワード>';
    
    権限の追加
    mysql> GRANT ALL PRIVILEGES ON `<DB名>`.* TO '<ユーザ名>'@'10.0.2.2';
    mysql> FLUSH PRIVILEGES;
    
    確認
    mysql> SHOW GRANTS for <ユーザ名>@10.0.2.2;
    

    3. ホスト側

    Railsアプリケーションでの, database.yml の設定

    default: &default
      adapter: mysql2
      encoding: utf8
      pool: 5
      username: <ユーザ名>
      password: ***
      database: <DB名>
      host: 127.0.0.1
      port: 53306(PortForwarding設定した, HOST側ポート)
    

    以上で、仮想環境へのMySQLに接続が可能になります。
    DBを変える場合は, 2の権限の追加を, 変更するDBに対して行います。