前人未踏の領域へ アプリ開発編

Android, iOSアプリ開発に関する調査メモ置き場。ほとんどAndroid。はてなダイアリーから移行したため古い記事にはアプリ以外も含まれます。

Vagrant上のMySQLにホストOSから接続する(Portforward編)

VagrantMySQLをインストールしたあとで、ホストコンピュータからログインしたい。そんなケース。
ホストコンピューター上にmysqlクライアントがインストール済みな想定。

  1. Vagrantfile編集
  2. my.cfg編集
  3. ユーザー追加
  4. 接続確認

Vagrantfile編集

以下を有効にする

$ vim Vagrantfile
config.vm.network "forwarded_port", guest: 3306, host: 3306
or 
config.vm.network "private_network", ip: "192.168.33.10"

my.cfg編集

bind-addressを追記。0.0.0.0にした場合はどこからでもアクセスできるようになるので注意。

$ sudo vim /etc/mysql/my.cnf
bind-address            = 0.0.0.0

ユーザーを追加

これもまたどこからきたユーザーもアクセスできてしまうので注意
xxxxのところはパスワードなので任意

$ mysql
create user 'taro'@"%" IDENTIFIED BY "xxxx";
grant all privileges on *.* to 'taro'@'%' identified by 'xxxx' with grant option;

接続

private_networkの場合

mysql -h 192.168.33.10 -u taro -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 41
Server version: 5.5.41-0ubuntu0.14.04.1 (Ubuntu)

Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 

forwarded_portの場合

mysql -h 127.0.0.1 -P3306 -u taro -p