CentOSにMySQLをソースからインストールしようとしたらバイナリで配布されてて一瞬で終った件


スクリーンショット 2014 03 09 13 50 38

MySQLのインストールは今までyumでやってたのですが、今回最新の5.6版を使いたくてソースからインストールしようとしました。

※ちなみに今回インストールしようとしてるサーバでyum listみたらリポジトリが古くて5.0版だったので、どうしてもそれがいやだけどリポジトリ変更するの仕組みがよくわからんくて怖かった的なのも理由のひとつ。

さっそくインストール方法がいくつも検索でひっかかったので、ふむふむ、と眺めていざ実践。するとソースからコンパイルする必要がなかったっていう事に気が付く。

ちなみに今回の環境は以下の通り。
OS:CentOS 5.10 (64bit)
MySQL:5.6.16

まずはMySQL本体をDLしてくる

MySQLの公式サイトに行って、ほしいバージョンをDLします。

MySQL公式サイト

今回ほしいのは無料のCommunityEditionなのでDownload from MySQL Developer Zone へ行き、指定のバージョンを落とすことになります。


スクリーンショット 030714 010005 PM

今回入れたい対象のOSの種類をプルダウンのメニューから選択し、行くとたくさんのDL方法があることがわかります。
上のほうはほぼRPMで配布されていたのですが、ソースからコンパイルするやつはどれやねんって探していくと下の方にそれっぽいのがいました。


スクリーンショット 030714 010350 PM

まぁ実際これがソースじゃなかったんですが、勘違いしていてソースだとおもってました。
とりあえず初心者だからTAR Archiveっていうのが正義だと思い込んでいる。。 RPMの仕組みもちゃんと勉強しないと。。
(´;ω;`)

今回TarAchiveは2種類ありますが、サーバーが64bitだったので64をDLします。
備忘録ですが、LinuxOSのサーバのバージョン確認は

# cat /proc/cpuinfo
# uname -a

で、flagsの項目にlmがあれば64bitのCPUを使用、unameでもx86_64と表示されればカーネル64bit対応ですね。

Downloadボタンを押すと、OracleのアカウントでLoginしろよみたいな画面になりました。
これを最初見た時「え、めんどくせ!」って思ったのですがよく見ると下にNo Thanks, just start my downloadというとても親切なリンクがありました。
今回はサーバ側からコヤツめをwgetしてやろうと思います。


スクリーンショット 030714 010642 PM

アーカイブを展開して早速インストール

とりあえず、先ほどのlinkをwgetしやすね。

$ cd /usr/local/src
$ wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.16-linux-glibc2.5-x86_64.tar.gz
$ tar xvzf mysql-5.6.16-linux-glibc2.5-x86_64.tar.gz
$  cd mysql-5.6.16-linux-glibc2.5-x86_64

wgetして、tarを展開したあと色んなサイトでCMakeコマンドを実行するよう案内がありました。
私もやらないとあかんのだと思っていたので、意気揚々と yum install cmakeでコマンドをインストールし、実行したところ。。

# cmake .
CMake Error: The source directory "/usr/local/src/mysql-5.6.16-linux-glibc2.5-x86_64" does not appear to contain CMakeLists.txt.
Specify --help for usage, or press the help button on the CMake GUI.

おや、これは。。
と思い、展開したディレクトリを漁ると。。。※実際には先輩に泣きついてあさってもらった件 (*ノω・*)

INSTALL_BINARYっていうファイルがあるね。

中身を見てみる。

To install and use a MySQL binary distribution, the basic command
sequence looks like this:
shell> groupadd mysql
shell> useradd -r -g mysql mysql
shell> cd /usr/local
shell> tar zxvf /path/to/mysql-VERSION-OS.tar.gz
shell> ln -s full-path-to-mysql-VERSION-OS mysql
shell> cd mysql
shell> chown -R mysql .
shell> chgrp -R mysql .
shell> scripts/mysql_install_db –user=mysql
shell> chown -R root .
shell> chown -R mysql data
shell> bin/mysqld_safe –user=mysql &
# Next command is optional
shell> cp support-files/mysql.server /etc/init.d/mysql.server

はい、というわけでDLしてきたのはソースじゃなくてバイナリでした。
PATH通せばすぐ動くってさ!! どうも本当にありがとうございます。

てなわけで最後のオプショナル的なinit.dへの登録は後でやることにして、mysqld_safeまで実行し動かしてみました。

プロセスはちゃんとたったようす・・・
ログインをためしてみようー


# /usr/local/mysql/bin/mysql -u root
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.6.16 MySQL Community Server (GPL)

Copyright (c) 2000, 2014, 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>
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+
4 rows in set (0.00 sec)

mysql>

ケイオツじゃないっすか先輩。

まとめ

というわけで久しぶりにMySQLをCentOSに入れてみましたが、ソースをコンパイルしなくてよくなってました。 けどコンパイルオプションとかそーゆーのってどういう扱いになるのでしょうか。。。?? よくわかっていません。
自分の場合は、localhostの3306で受けてもらってRilsからつながればそれでOKなのでそれまでしか試していません。 ゆくゆくはレプリケーションとかも貼っていく予定ですが、いまのところ何の問題もなく動いてるからひとまずOKです。

ひとつ言えるのは、今までいろんなものをインストールしてきましたが、びっくりするぐらいアッサリ終わってしまったので逆に不安ですww (自分みたいな初心者エンジニアがプログラムを書いた時に一発で動いた時に不安になる的なアレに近いものがある。)

おわり。 きょうめっちゃ天気いいから、カーテンあけて家にこもる。

2014-03-09 | Posted in サーバー小ネタ(Linux)No Comments » 


関連記事

Comment





Comment



*