前回はMySQLをyumでインストールしたが今回はソースからインストールしてみる。
インストールしたバージョンは、MySQL5.5.28。
- 必要なパッケージのインストール
- ソースのダウンロード
- http://dev.mysql.com/downloads/mysql/#downloads に飛ぶ。
- Select Platform で「Source Code」を選択する。
- Generic Linux (Architecture Independent), Compressed TAR Archive のDownload をクリックする。
- 「No thanks, just start my download!」をクリックする。
- cmakeの設定
- MySQLのインストール
- グループとユーザの作成
- データベースの初期化
- 権限書き換え
- my.cnf の設定
- 起動スクリプト作成
- 起動確認
- パスを通す MySQLの実行ファイルが/usr/local/mysqlにあるのでそのままでは実行できないため、/usr/binにシンボリックリンクを張る
- rootパスワードの設定
$ sudo yum install gcc gcc-c++ ncurses-devel cmake bison
MySQL 5.5ではcmakeを使うみたいなので入れる。
$ wget http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.28.tar.gz/from/http://cdn.mysql.com/
$ tar zxvf mysql-5.5.28.tar.gz
ソースコードの取得方法
$ cd mysql-5.5.28
$ sudo cmake \
. -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_unicode_ci
文字コードと照合順序は各自設定する。
パッケージが足りない等で失敗したら、yum で必要なパッケージをインストールし、CMakeCache.txt を削除してからやり直す。
エラー内容をググれば、何をインストールすれば良いかは大抵分かる。
$ sudo make
$ sudo make install
上手く通ればインストールが完了する。
次から設定に入る。
$ sudo groupadd mysql
$ sudo useradd mysql -M -g mysql -s /sbin/nologin
mysqlグループ を作成し、mysqlユーザを追加する。
mysqlユーザはMySQL専用ユーザなので、ログインできないように -s /sbin/nologin を付ける。
useradd に-M オプションを付けると、ホームディレクトリを作成しないでユーザを追加してくれる。
$ sudo /usr/local/mysql/scripts/mysql_install_db \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data \
--user=mysql
Installing MySQL system tables...
OK
Filling help tables...
OK
$ sudo chown -R mysql:mysql /usr/local/mysql
$ sudo cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf
どのファイルをコピーするかは以下のURLで確認する
参考URL:
http://okdtsk.hateblo.jp/entry/20111219/1324249008
http://ta2blog.air-nifty.com/seclusion/2006/06/linuxcpu_cb54.html
$ sudo vim /etc/my.cnf
my.cnf で文字コードを設定する。
[client]
default-character-set=utf8
[mysqld]
character-set-server=utf8
$ sudo cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld
$ sudo chmod +x /etc/rc.d/init.d/mysqld
$ sudo chkconfig --add mysqld
$ sudo chkconfig mysqld on
$ chkconfig mysqld
$ chkconfig --list mysqld
mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off
$ sudo /etc/rc.d/init.d/mysqld start
Starting MySQL... [ OK ]
$ sudo ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
$ sudo ln -s /usr/local/mysql/bin/mysqladmin /usr/bin/mysqladmin
$ sudo ln -s /usr/local/mysql/bin/mysqldump /usr/bin/mysqldump
主に使うmysql, mysqladmin, mysqldump コマンドにシンボリックリンクを貼った。
他に使うコマンドがあれば随時リンクを貼っていく。
$ sudo ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
$ sudo ln -s /usr/local/mysql/bin/mysqladmin /usr/bin/mysqladmin
$ sudo ln -s /usr/local/mysql/bin/mysqldump /usr/bin/mysqldump
追記(2013年6月7日)
コマンドのシンボリックリンクを貼らずに、/usr/local/mysql/bin をパスに通す方が楽。
$ sudo vim /etc/profile
最終行に以下を追記
PATH=$PATH:/usr/local/mysql/bin
export PATH
$ source /etc/profile
他ユーザも使うことを想定して、/etc/profile に記述している。
(追記終わり)
$ mysqladmin -u root password "パスワード"
rootでログインできるか確認する。
$ mysql -u root -p
Enter password: 【rootパスワード入力】
これでひと通り設定が完了した。 ユーザの追加やデータベースの作成は後ほど。
参考URL: http://d.hatena.ne.jp/hekyou/20110905/p1 http://blog.77jp.net/mysql-5-5-9-%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB-linux-cmake http://ratememo.blog17.fc2.com/blog-entry-761.html