Vagrantで起動したCentOS上のMySQLにホストOSからログインする設定

公開日: : 最終更新日:2015/10/17 プログラム , ,

マシンを新しくしたこともあり、検証と称してソフトウェアをやみくもにインストールすることに抵抗が出てきた。
できるだけマシンはクリーンな状態を保ちたいので、VirtualBox + Vagrant の環境で検証する。

今回はその環境に MySQL をインストールしてホスト側からログインする方法を試してのでメモしておく。

icatch-2015-003-1

目次

1. ソフトウェアのバージョン

主なソフトウェアのバージョンは以下の通り。

【ホスト OS】

  • OS: OS X Yosemite 10.10.5
  • VirtualBox: 5.0.0
  • Vagrant: 1.7.4
  • Box ファイル:
    • http://developer.nrel.gov/downloads/vagrant-boxes/CentOS-6.4-x86_64-v20130731.box

Box ファイルをダウンロードするには以下のコマンドを実行する。

$ vagrant box add centos6.4_64 http://developer.nrel.gov/downloads/vagrant-boxes/CentOS-6.4-x86_64-v20130731.box

【ゲスト OS】

  • OS: CentOS 6.4(64ビット)
  • MySQL: 5.6.27

2. 前提

  • 上記の Box ファイルを使って VirtualBox 上に仮想環境(CentOS 6.4)が構築されていること
  • CentOS に MySQL がインストールされていること

3. Vagrant の設定(ホスト OS)

ゲスト OS の MySQL はデフォルトの 3306 ポートで動かす。
ホスト OS の 3306 ポートアクセスをゲスト OS に流すように設定する。

以下は Vagrantfile の内容(コメントアウトしている行は省略)。

Vagrant.configure(2) do |config|
  config.vm.box = "centos6.4_64"
  config.vm.network "forwarded_port", guest: 3306, host: 3306
end

4. iptable の設定(ゲスト OS)

MySQL はデフォルトの 3306 ポートで動かす。
ホスト OS から 3306 ポートでアクセスできるように iptable に設定を追加する。

以下を /etc/sysconfig/iptables に追加する。

-A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT

追加したらデーモンを再起動して設定を有効にする。

$ sudo /etc/init.d/iptables restart

5. MySQL の設定(ゲスト OS)

ホスト OS から root ユーザで MySQL へアクセスする。
専用のユーザを作成して行うのが適切なのだが、検証なので root でアクセスする。

MySQL に root でログイン後、以下の SQL を実行する(”{PASSWORD}” の部分は置き換えること)。
‘%’ なので、どこからのアクセスでも許してしまう。

mysql> GRANT ALL PRIVILEGES on *.* to root@'%' IDENTIFIED BY '{PASSWORD}' WITH GRANT OPTION;

上記の設定を確認するには以下の SQL を実行してみる。

mysql> select user, host from mysql.user;
+------+-----------------------+
| user | host                  |
+------+-----------------------+
| root | %                     |
| root | 127.0.0.1             |
| root | ::1                   |
| root | localhost             |
| root | localhost.localdomain |
+------+-----------------------+
5 rows in set (0.01 sec)

6. MySQL へのログイン(ホスト OS)

ターミナルで以下を実行してゲスト OS で起動している MySQL にログインできることを確認する。

$ mysql -h 127.0.0.1 -u root -p

7. 更新履歴

  • 2015/10/12: 初版作成
  • 2015/10/17: 文言を修正

Googleアドセンス用(PC)

  • このエントリーをはてなブックマークに追加
  • follow us in feedly

関連記事

icatch-vagrant_box_customize

VagrantのBoxファイルをカスタマイズして独自のBoxファイルを作成する

配布されている Vagrant の Box ファイルを使って検証環境を構築することが多くなってきた。

記事を読む

icatch_5623339500-resized

Bundler を使ってプロジェクト用の Gem をインストールして Gemfile をバージョン管理ツールに登録するまでの流れ

Bundler を使い始める人向けにまとめた次の記事を書きました。 CentOSにRubyのBu

記事を読む

icatch-thumbup_3507728739_mini-thumbnail

Sublime Text3 に SublimeLinter-jshint をインストールしてみた

エディタに Eclipse を使って Java のプログラムを書くことが多いんですが、JavaScr

記事を読む

icatch-9214710040_822a4c3456_z-resized

ロードアベレージを監視するシェルスクリプトを作成してみた

このブログを運用している Linux サーバの負荷が高い状態になってました。 何か被害にあったとかで

記事を読む

icatch_4365495446-resized

CentOS6.5にGitをソースコードからインストールする

CentOS 6.5 の64ビット版を "Minimal" でインストールした環境で、git sta

記事を読む

icatch-_9692711856-resized

シェルスクリプトでメールを送信する

このブログを運用している Linux サーバの監視スクリプトを作成した記事を書きました。 ロード

記事を読む

no image

no space left と表示されたときの対処法

タイトルの "no space left" とは「書き込みたいけど、ディスクの飽

記事を読む

no image

VPS に Redmine を設置したときに対処したトラブル

Redmine のインストール自体は Redmine 2.3をCentOS 6.4にインストールする

記事を読む

icatch-2015-006-1

バリデーションチェックにJava8のOptionalを使ってスマートに書く(自分比)

Web アプリのバリデーションチェックにアノテーションを使うことが増えた。だが、アノテーションで実装

記事を読む

icatch-8442052993_2978189f52_z-resized

参照可能な yum リポジトリを確認する yum コマンドとワンライナー

あるパッケージをインストールするために配布リポジトリの設定を追加することがあります。 ビジネスユー

記事を読む

Googleアドセンス用(PC)

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です


× 七 = 42

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Googleアドセンス用(PC)

icatch-jersey_multi_pathparams
Jerseyの@PathParamはスラッシュの間に複数指定できる

http://hoge-api/user/{id}.{format}

icatch-vagrant_box_customize
VagrantのBoxファイルをカスタマイズして独自のBoxファイルを作成する

配布されている Vagrant の Box ファイルを使って検証環境を

icatch-2015-006-1
バリデーションチェックにJava8のOptionalを使ってスマートに書く(自分比)

Web アプリのバリデーションチェックにアノテーションを使うことが増え

icatch-2015-005-1
ユニットテストの偏りを防ぐ命名規則の付け方

ユニットテスト名に以下の命名規則を付けるようにして二ヶ月ぐらい経った。

icatch-2015-004-1
Vagrantで起動したCentOS上のOctopressをホストOSから確認する設定

タイトルの通りだが、Vagrant を使って起動した CentOS に

→もっと見る

PAGE TOP ↑