Vagrant – MySQLのインストール – CentOS7

概要

Vagrant + VirtualBoxのCentOS7にMySQLをインストールした記録。

yumによるMySQLサイトからのダウンロード実行などのほか、パスワード設定でちょっと時間がかかった。

インストール

参考にさせていただいたサイト:【最新版】CentOSにMySQLをインストールする方法

レポジトリーへの登録

予めコンソールでVagrantのCentOSを起動しておき、MySQL Community Downloadsサイトで以下の作業。

  1. Red Hat Enterprise Linux 7 / Oracle Linux 7 (Architecture Independent), RPM Packageの”Download”をクリック
  2. ダウンロードページの下部、”No thanks, just start my download.”を右クリックしてURLをコピー
  3. CentOSのコンソールでsuとして以下を実行して、yumレポジトリーに追加

レポジトリーの確認

MySQLがレポジトリーにあることを確認。レポジトリーは/etc/yum.repos.d/に格納されている。

mysql-community-source.repomysql-community.repoの2つが確認できる。

MySQLのインストール

まだMySQLはレポジトリーに登録されただけなので、suでyumを使ってインストール。4分ほどかかった。

インストール確認

インストールされたMySQLのバージョンを確認。

MySQLの起動・停止

インストール直後の停止状態確認

状態確認は一般ユーザーでもsystemctlで可能。

MySQLサーバーの起動

起動するにはsuとしてsystemctlを実行する必要がある。

起動状態の確認

MySQLサーバーの停止

停止するにはsuとしてsystemctlを実行する必要がある。

パスワードの変更

初期状態でパスワードがわからない

MySQLインストール直後にrootでログインしようとしたとき、パスワードがわからずログインできなかった。

ログファイルの確認

初期パスワードはログファイルに残されているとのことで、ログからパスワードを確認。

参考にさせていただいたサイト:MySQL 5.7 をインストールしたら最初に行うセットアップ

ログイン成功

このパスワードを入力して無事ログイン。

最初のパスワード変更(強い制約)

CentOSのコマンドラインからmysql_secure_installationでパスワードを変更。このとき、デフォルトでパスワードに強い制約がかかっていて戸惑った。

  • ルートのパスワードを変更するか
  • anonymusユーザーを消すかどうか
  • リモートでのrootのログインを禁止するかどうか
  • テスト用のデータベースを削除するかどうか
  • 権限テーブルを再読み込みするかどうか

パスワード制約条件の変更

この時点のバージョンでは、パスワード検証の変数名がネット上の情報と少し違っていた。

パスワード制約の変更

パスワード制約の強度を一番低くし、文字数を6文字以上とした。

MySQLのUPDATEはエラー

MySQLのUPDATEでパスワード変更しようとしたが文法エラーで通らない。

mysqladminでパスワード変更に成功

CentOSのコマンドラインに戻ってmysqladminを試したところ、パスワード変更に成功。

 

Vagrant/CentOS7 – rbenv/Rubyインストール

概要

VagrantのCentOS7仮想環境にrbenv&Rubyをインストールした記録。

  • ホスト:Windows10
  • ゲスト:Vagrant + VirtualBox + bento/CentOS-7.7

Gitのインストール

yumによるGitのインストール

suでyumを実行してGitをインストールする。

確認

rbenvのインストール

ユーザー環境へのrbenvのダウンロード

カレントディレクトリーの確認。

Gitでユーザー環境にrbenvをclone(ダウンロード)。

/home/vagrand下に.rbenvフォルダーが作成され、その下にフォルダー・ファイル群が展開される。

.bash_profileの設定

$PATHの確認

.bash_profileの確認

PATHの追加

$echo 'export PATH=通したいパス:$PATH' >> .bash_profile

rbenvの場合は

echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile

起動時のrbenv init実行設定

echo 'eval "$(rbenv init -)"' >> ~/.bash_profile

設定後の.bash_profile

.bash_profileを修正したら、ターミナルを再起動して.bash_profileを反映させる。

rbenvの確認

ruby-build

ユーザー環境へのruby-buildのダウンロード

Gitでユーザー環境にruby-buildをclone(ダウンロード)。

Ruby

ライブラリーのインストール

gcc, make, openssl-devel, readline-develが必要になるので、yumでインストール。

インストール可能なパッケージの確認

ruby-envでインストール可能なパッケージを確認する。

  • -listは最近の安定バージョンのみ表示
  • --list-allはインストール可能な全バージョンを表示

Rubyのインストール

今回は3.0.0をインストール。3~4分ほどかかった。

デフォルトのRubyの設定

通常使うRubyにダウンロードした3.0.0を設定。

確認

参考サイト

 

Vagrant – 共有設定・カーネル更新

概要

  • Vagrantの仮想環境での共有フォルダ-設定
  • 環境はWindows10、Vagrant、VirtualBox、bento/Centos-7.7
  • この過程でカーネルのアップデートが必要

Vagrant初期起動

bento/Centos-7.7の前にCentos/7のBoxで共有設定をしたときにvagrant-vbguestパッケージをインストール済みだったので、GuestAdditionsの不整合は解決されている様子。

ただしkernelのバージョン不整合は解決されない。

SSH接続・カーネルアップデート

  • VagrantからSSH接続して仮想環境にログイン
  • 仮想環境下でyumによってカーネルをアップデート

Vagrant再起動

  • exitで仮想環境から抜けてホスト環境に戻る
  • ホスト環境でVagrantを再起動
  • ここでかなり時間をかけて環境設定が行われる

共有設定・再起動

  • 共有設定の最終段階
  • ホスト側の共有フォルダ-を作成
  • vagrantfileに1行追加
  • vagrant reloadでVagrantを再起動
  • 仮想環境下にもフォルダーが作成され、同期される

vagrantfile設定

config.vm.synced_folder "ホスト側パス", "ゲスト側パス"

  • 第1引数はホスト側パスで、vagrantfileからの相対パスで指定
    • ホスト側で共有ディレクトリーを作成しておく必要がある
  • 第2引数はゲストパスで、絶対パスで指定
    • ゲスト側の共有ディレクトリーはVagrantが作成してくれる

Vagrant再起動

Vagrantを再起動すると、共有フォルダ-が作成される。

フォルダー配置

  • ホスト側:C\vagrant\centos7\share
  • ゲスト側:/home/vagrant/share

 

 

Vagrant – 環境構築(旧)

概要

以降はVagrant導入後最初にインストールしたBoxの導入記録。

Vagrant CloudのCentos/7を選び、共有フォルダ-設定を試みたところ、なかなかうまく共有できなかった。

このBoxのリリースがv2004.01と結構古かったので、その後bento/Centos-7.7に変更し、比較的スムーズにフォルダー共有ができた。

Boxの導入

Boxのインストール

仮想環境のBoxをインストール。今回はVagrant Cloudから提供されているCentosOS/7を選んだ。

  • Vagrantからのインストールの場合は以下のコマンド。
    • >vagrant box add centos/7
  • 他のサイトからの場合、名前を指定してインストールする場合は以下のコマンド。
    • >vagrant box add name url/local_file

今回はVirtualBoxの仮想環境なので3を選択。以下の処理に10分オーダーの時間がかかる。

インストールされたBoxの存在確認。

この時点でSSDの容量は141 /237GB free。

仮想環境のVagrant設定

ドライブ直下にVagrantディレクトリー、その下にCentOS7のディレクトリーを作成し、そこに移動。

移動後のディレクトリー内で初期設定。ここでこのディレクトリー内にvagrantfileが作成されて、仮想環境が利用可能になる。

この時点でSSD 141/237GB freeとなり、6~7GBを使っている。

仮想環境の利用

仮想環境の起動

vagrant upコマンドで仮想環境を起動。

仮想環境へのログイン

現バージョンでは、Windowsでもvagrant sshで接続できた。

バージョンを確認。

実行中の仮想環境の確認

仮想マシンを立ち上げたコンソールとは別のコンソールを立ち上げ、vagrant statusで確認。

仮想環境からのログアウト

CentOSのexitコマンドでログアウト。

仮想環境の停止

Windowsプロンプトでvagran haltコマンドを実行して停止。

仮想環境停止の確認

停止後のWindows環境でvagrant statusを実行すると仮想環境の停止を確認できる。

 

Vagrant -vagrantfile

初期状態

VagrantとvirtualBoxのCentOS7をインストールして初期実行後のvagrantfileの内容。ファイルはCentOS7の環境構築で指定したディレクトリー下にある。

実質的な内容は以下のとおり。

 

Vagrant – メモリーとディスクの容量設定

準備

vagrantfile中、virtualBox設定の部分をコメントアウトし有効にする。

メモリーの設定

メモリーの割り当て容量設定は、vagrantfileに1行書くか、コメントアウトされている以下の行のコメントを外して容量を書き換えるとよい。

数値はMB単位のメモリー割当量で、上記は1024MB = 1GBを意味している。

ディスク容量の設定

仮想マシンのディスクに割り当てる容量を設定・変更する場合、プラグインをインストールした上でvagrantfileに1行追加する。

プラグインのインストール

ホスト側でvagrant-disksizeプラグインをインストールする。

vagrantfileへの追加

以下の1行をvagrantfileに追加する(***に割り当てる容量をGB単位で指定)。

config.disksize.size = "***GB"

設定の反映

メモリー/ディスクの設定をvagrantfileに書いた後、vagrantを起動/再起動する。

メモリーとディスクの容量のみ設定したvagrantfileの有効部分は以下のようになる。

メモリー容量の確認

ディスク容量の確認

 

Vagrant – 仮想環境構築 – CentOS7

概要

Windows10にVagrant + VirtualBoxでCentOS7の仮想環境を構築したときの記録。

Vagrant/VirtualBoxの導入

Vagrantのインストール

VirtualBoxのサイトのダウンロードページからインストールファイルをダウンロード。

  • Windows/64bitを選択してDownload
  • vagrant_2.2.14_x86_64.msi(232MB)

ダウンロードしたmsiファイルを実行

  1.  Welcome to ….→Next
  2. End-User Lisence Agreement→accept & Next
  3. C:\HashiCorp\Vagrant→Next
  4. Ready to install Vagrant→Install
  5. Completed …→Finish
  6. You must restart your system …→Yes/No
  7. Restart

コンソールを起動し、インストールされたVagrantのバージョンを確認。

VirtualBoxのインストール

VirtualBoxのサイトからパッケージをダウンロード。

  1. VirtualBox 6.1.18 platform packages
  2. Windows hosts
  3. VirtualBox-6.1.18-142142-Win.exe

インストール

  1. Welcome to …→Next
  2. Custom Setup
    • インストール先はC:\Progrm Files\Oracle\VirtualBox
  3. ショートカット作成選択
  4. Warning Network Interfaces→Yes
  5. Ready to Install→Install
  6. … installation is complete→Finish

VisuaruBoxを起動してバージョン確認。

  • バージョン 6.1.18 r142142 (Qt5.6.2)

拡張版のインストール

本体ダウンロードのリンクの下に拡張版のダウンロードがある。説明書きに”Support for USB 2.0 and USB 3.0 devices, …”とあって、USBを有効が有効になる。

  1. VirtualBox 6.1.18 Oracle VM VirtualBox Extension Pack→download
  2. VirtualBox起動
    1. ファイル→環境設定→機能拡張
    2. 右方のアイコン→ファイル選択→インストール

この段階ででSSD 147/237GB freeでインストール前と容量が変わっていない。

Boxの導入

Vagrant導入当初BoxとしてVagrant CloudのCentos/7を選んだが、共有フォルダ-設定がうまくいかなかったのでbento/Centos-7.7に変更した。

Boxのインストール

仮想環境のBoxをインストール。Vagrant Cloudで提供されているbento/CentosOS-7.7を選んだ。

  • Vagrantからのインストールの場合は以下のコマンド。
    • >vagrant box add bento/centos-7.7
    • ダウンロードに10分程度かかる
  • 他のサイトからの場合、名前を指定してインストールする場合は以下のコマンド。
    • >vagrant box add name url/local_file

インストールされたBoxの存在確認(前にインストールしたCentos/7のBoxも残っている)。

Boxファイルの格納場所

Windows

  • ユーザーフォルダー\.vagrant.d\boxes

仮想環境のVagrant設定

ドライブ直下にVagrantディレクトリー、その下にCentOS7のディレクトリーを作成し、そこに移動。

移動後のディレクトリー内で初期設定。この操作によってディレクトリー内にvagrantfileが作成されて、仮想環境が利用可能になる。

この時点でSSD 140/237GB free。

仮想環境の利用

仮想環境の起動

vagrant upコマンドで仮想環境を起動。

仮想環境へのログイン

現バージョンでは、Windowsでもvagrant sshで接続できる。

バージョンを確認。

実行中の仮想環境の確認

仮想マシンを立ち上げたコンソールとは別のコンソールを立ち上げ、vagrant statusで確認。

仮想環境からのログアウト

CentOSのexitコマンドでログアウト。

仮想環境の停止

Windowsプロンプトでvagran haltコマンドを実行して停止。

仮想環境停止の確認

停止後のWindows環境でvagrant statusを実行すると仮想環境の停止を確認できる。

ロケール/タイムゾーンの設定

ロケール/タイムゾーンの確認

現在のロケール、タイムゾーンはdatelocalelocalectlコマンドで確認できる。インストール直後はUSになっている。

ロケールの設定

ロケールの設定はlocalectlをsuで実行。

sudo localectl set-locale LANG=ja_JP.UTF-8

設定の反映には再接続が必要。

タイムゾーンの設定

現在のタイムゾーンはtimedatectlコマンドで確認できる。

とりあえずWarningは置いておく。

設定可能なタイムゾーンの一覧は以下のとおり。

timedatectl list-timezones

タイムゾーンの設定はtimdatectlをsuで実行。

sudo timedatectl set-timezone [タイムゾーン名]