LoginSignup
8
3

More than 3 years have passed since last update.

vagrantでMySQL勉強用にcentos7で環境構築 + Linuxbrew

Last updated at Posted at 2019-10-06

vagrantでMySQL勉強用にcentos7で環境構築

(初投稿)

プログラミング学び始めて5ヶ月目です。
実務経験なし、就職活動中。現在夏休み。
備忘録兼ねてアウトプット練習で投稿をこれから続けていきたい所存。
ところどころおかしなところあると思います。飴主体でご指摘いただけると幸いです。

前提

ホストos: Mac10.14.6

vagrantの初期設定済(ubuntu環境作成したことがある)

やったこと(目次)

  • centos7で仮想環境作る
    • とりあえずフォルダを作る
    • Vagrantfileを作る。
  • Linuxbrewインストール
    • curlとかgitとか入れる。
    • Linuxbrewダウンロード&インストール。
    • パス通す&環境変数の設定する。
  • 略(zshインストール&かっこヨク)
  • MySQLのダウンロードまで
    • mariaDBの削除。
    • MySQLのダウンロードとインストール。
  • 起動から初期設定まで
    • 起動&永続化
    • 初期設定
  • その他

さて

centos7で仮想環境作る

とりあえずフォルダを作る。

vagrant環境下で
zsh
mkdir centos7

(名前は任意)

そして

Vagrantfileを作る。

cd centos7

移動して
Vagrantfileを作りましょう。

vagrant init centos/7

この呪文でVagrant fileができると。
そしたらvagrant up&haltして

Linuxbrewインストール

curlやらgitやらインストールしましょう

yum groupinstall ‘Development Tools’ && sudo yum install curl git m4 ruby texinfo bzip2-devel curl-devel expat-devel ncurses-devel zlib-devel

ではないらしい
上みたいなコマンドを打ってくださいって記事がなかなかの数残ってるので要注意です。
centos7で、というかRed Hat Enterprise Linux 7ではyumが変更されましたとのこと。

yum -y groupinstall base "Development tools" --setopt=group_package_types=mandatory,default,optional

この記事CentOS7 で yum groupinstall が出来ないんですけど。。。に助けられたです。

さて

Linuxbrewをインストールしましょう

漠然とbrewという文字を打ち込みたい、そんな私でした。
Macを買った5ヶ月前google先生に「Mac 買ったらやること」でひたすらググってた時に

「Homebrewを入れましょう」
「Homebrew入れなきゃ何も始まんないよね」
「Hお目bれw」

とどこの記事にも書いてあったのでとりあえず入れたのは今は昔。
HomebrewはMacOS用のパッケージ管理ツール
これのLinux版がLinuxbrewですね。

Linuxbrew何がいいかっていうと
1. rootいらねえ
2. home dirに入れれちゃう
3. ディストリビューションの package manager に依存しねえ

ってとこ。2に関しては正直まだよくわかってない。

前置きが長くなりましたが以下のコマンドでインストール

sh -c "$(curl -fsSL https://raw.githubusercontent.com/Linuxbrew/install/master/install.sh)"

そしてこのまんまだとパスが〜〜〜ってエラー出てきますんで


test -d ~/.linuxbrew && PATH="$HOME/.linuxbrew/bin:$HOME/.linuxbrew/sbin:$PATH"
test -d /home/linuxbrew/.linuxbrew && PATH="/home/linuxbrew/.linuxbrew/bin:/home/linuxbrew/.linuxbrew/sbin:$PATH"
test -r ~/.bash_profile && echo "export PATH='$(brew --prefix)/bin:$(brew --prefix)/sbin'":'"$PATH"' >>~/.bash_profile
echo "export PATH='$(brew --prefix)/bin:$(brew --prefix)/sbin'":'"$PATH"' >>~/.profile

この4行そのまんまペッってする。

確認しましょう

brew doctor
>>>Your system is ready to brew.

こんな感じでbrew先生に疾走感が感じられたらオッケーです。

Linuxbrew のススメ
大いにパク参考にさせていただきました。

略(zshインストール&かっこヨク)

小生、vimmerは変態と伺い、憧れたのでエディタはvim(練習中)
そしてiTerm2 + zshでターミナル環境構築してる故
ここにてzshとvimの設定を行う。
長くなりそうなんで割愛
そのうち別記事書き <ここら辺に> リンク貼ります。

MySQLのダウンロードまで

mariaDBの削除。

rpm -qa | grep mariadb
>>>mariadb-libs~~~~~~~~~~~~~
#ほうほう、ちゃんと入っているな

# えいっ
yum remove mariadb-libs

# 関連ライブラリも、えいっ
sudo rm -rf /var/lib/mysql

# 一応消えたこと確認
rpm -qa | grep mariadb

なんでもmariaDBはMySQLとは互換性があるけど、どっちもあると競合起こすのでみんな消すらしい?
言ってることはわかるけどどういう挙動になって何が困るのかよく想像つかないから今度わざと競合させてみたいと思う。

MySQLのダウンロードとインストール。

やっとここまできました。


# MySQLを公式レポジトリからダウンロード
rpm -ivh https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
# 最新版を確認してください

# インストール
yum install mysql-community-server

これでOK!!

ちな
MySQL最新版確認用

こういうとこに飛びます。

スクリーンショット 2019-10-06 21.46.21.png

そしたら
OS確認して右側のDownload
(今回の場合だったら上から二番目のRed Hat Enterprise Linux 7/ Oracle Linux 7てやつですね)

Download押すと
こんな画面に行きます。

スクリーンショット 2019-10-06 21.49.28.png

左下の
No thanks,just start my download
のURLとって


rpm -ivh (とってきたURL)

とコマンド打ってダウンロードです。あとはさっきの通りにインストールまでしてください。

あと少しです、、頑張れ、、

起動から初期設定まで

起動&永続化



# 起動
sudo systemctl start mysqld.service

# 永続化
sudo systemctl enable mysqld.service

はい、秒。

初期設定

最低限しましょね
詳しいことはわかんないんでググって他の記事見つけてください(放)

まず、なんか自動でパスワード初期設定されてるみたいなんで、それを見つけましょう。


# 自動で初期設定されてるパスワードを確認
sudo grep password /var/log/mysqld.log
>>2019-10-04T11:35:51.505412Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: password
# この部分ですね => password 

そしたら行きましょう初期設定。

mysql_secure_installation

って打つと下みたいにいくつか質問出てくるんでynで答えていってください。
日本語訳つけてます。ご参考に。


Enter password for user root:
# 初期に入ってるパスワード入力

Change the password for root ? ((Press y|Y for Yes, any other key for No) : 
# 訳)どうする?パスワード変えとく?

New password:
# 新しく設定する任意のパスワード

Re-enter new password:
# 再入力

Remove anonymous users? (Press y|Y for Yes, any other key for No) :
# 訳)今、誰でも入れんねんけど、匿名除外しとく?

Disallow root login remotely? (Press y|Y for Yes, any other key for No) :
# 訳)リモートでrootは入れんようにした方がええやんな?

Remove test database and access to it? (Press y|Y for Yes, any other key for No) :
# 訳)テスト用データベース作らんくてもええ?

Reload privilege tables now? (Press y|Y for Yes, any other key for No) : 
# 訳)ほなすぐ反映するで!?

初期設定完了す。おめでとうございます。

その他

ログイン

# root でログイン
mysql -u root

mysql -u ユーザ名 -p
Enter password: [パスワード]

Vagrantfileのリアルタイム反映


config.vm.synced_folder ".", "/vagrant", type:"virtualbox"

こんなものあるなんて知らなかったです。
ubuntuの方こんなの書いてないのに、リアルタイム同期されてる。
なんで?

~fin~
(初投稿)
お付き合いありがとうございました。

8
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
3