度重なるエラーに傷つき、満身創痍の体を引きずりながら、
素人なのに「ついうっかり踏み込んでしまったけど、
ここまで来たら引き返すわけにはいかないっ!!!」と、
mysqlをソースからインストールすべくトライし、
ついに成功したその日、真夜中に一人で、
「ウリョォォォォォォォォォォォォーーーッ」と、雄叫びを上げたあの頃、
そう、あの時、バージョンは「5.5.9」だった。。。
月日が経つのは早いものです。
そして、ORACLEのロゴがちらつくようになったmysqlのバージョンアップも早いものです。
これを書いている現在、最新バージョンは「5.5.12」です。
ということで、ubuntu11.04に、mysql5.5.12をインストールするをまとめてみます。
仕込み編
色々と必要なものがあるので、ガッツリインストールしておきます。
「端末」を起動してザクザク入れていきます。
*プロンプト(user名@ubuntu:~$←こんなやつ)の表記は省略しています。
*あと、わたしはaptitudeを使ってますが、apt-getの人はそこんとこ読み替えてくらさい。
paco入れる
まずは、ソースからビルドして入れる系の場合、アンインストールとか不便だし、ちゃんとパッケージ管理みたいにしときたいよね!
ということで「paco」というのを入れておきます。
sudo aptitude install -y paco [Enter]
[sudo] password for vmubuntu: ← ここは自分の管理者パスワードを入れるんだぜっ
この「paco」さん、
こうすれば、普通にmakeインストールと同様の処理を行うことができ、
sudo paco -D make install [Enter]
こうやると、何とアンインストールもできてしまうお利口さんです。
sudo paco -r appname [Enter]
ありがたやありがたや。
CMake入れる
続いて、mysqlは5.5~から、ビルドすんのに「CMake」っつうのを使いましょとのこと。
とりあえず、cmakeを入れる。
sudo aptitude install -y cmake [Enter]
あと、cmakeを実行するときにエラーで怒られるから、下の5つもインストールする。
- bison
- g++
- libncurses5-dev
- libncursesw5-dev
- sysv-rc-conf
それじゃぁ、ガッツガッツ入れたりましょう。
sudo aptitude install -y bison g++ libncurses5-dev libncursesw5-dev sysv-rc-conf
chkconfigもあると便利さ
詳しくは以下ね。
mysql入れ終わってから、サービスを設定したりするのに使うんです。
ほいじゃ、サクっと。
sudo aptitude install -y chkconfig
グループとユーザを仕込んでおこう
mysqlがubuntu上で安心して暴れられるように、専用のOSユーザとグループを作っとく。
名称は好き好きで名づけてあげよう。
sudo groupadd mysql
sudo useradd -r -g mysql mysql
色々多くて大変だったと思いますが、とりあえず仕込みは終わり。
それじゃぁ、mysqlを入れますぞ。
mysql 5.5.12をインストールする
まずはどっか作業場(ここではホーム直下のDownloadディレクトリ)に移動して、tar.gzをダウンロード。
cd ~/Downloads/
sudo wget http://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.5/mysql-5.5.12.tar.gz
ダウンロード元はミラーがいっぱいあるからお好きに選ぶべし。
tarで展開して、出てきたディレクトリの中に移動
tar zxvf mysql-5.5.12.tar.gz
cd mysql-5.5.12
がんばって仕込んだ「cmake」をファイヤーーーッァ!!!!!!
sudo cmake . ¥
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql ¥
-DDEFAULT_CHARSET=utf8 ¥
-DDEFAULT_COLLATION=utf8_general_ci ¥
-DENABLED_LOCAL_INFILE=true ¥
-DWITH_INNOBASE_STORAGE_ENGINE=1 ¥
-DWITH_EXTRA_CHARSETS=all ¥
-DWITH_READLINE=ON
cmakeのあとのなっがいオプション、これが無いと死ぬ。
いや、実際に何回も死んだ。
んで、ゾンビのように蘇ってはまた死んだ。
何度目かの復活後に、下のサイト見てなんとかここまで来れました。
ウゥゥっ、ヨカッタヨカッタ・・・
あと、何か入れ忘れてたりしてcmakeをリトライした場合は、
sudo rm CMakeCache.txt
して、「CMakeCache.txt」っていうファイルを削除しておくとOKだ。
makeして、これも仕込んでおいたかいがあった「paco」でインストールする
幸運を祈る。
sudo make
make終わったらパッ、パッ、パコォーーーーーーーーーッ
sudo paco -D make install
これでインストール終わりだ。
mysql立ち上げ
ディレクトリの所有者変更
無事インストールが終わったmysqlのディレクトリに移動して、
こいつの所有者を、仕込んでおいたユーザグループに変更してしまいます。
cd /usr/local/mysql/
sudo chown -R mysql .
sudo chgrp -R mysql .
binのシンボリックリンクを作成
sudo ln -s /usr/local/mysql/bin/ /usr/local/bin/
ログの仕込み
sudo mkdir /var/log/mysql/
sudo touch /var/log/mysql/error.log
sudo touch /var/log/mysql/query.log
sudo touch /var/log/mysql/slow.log
sudo chown -R mysql. /var/log/mysql/
ソケットディレクトリの所有者設定
sudo chown -R mysql:mysql /var/run/mysqld
「cnf」という設定ファイルを仕込む
コピって、
sudo cp support-files/my-large.cnf /etc/my.cnf
vimでファイル開いて
sudo vim /etc/my.cnf
とりあえずこんくらいを仕込んどく。
[client] default-character-set = utf8
[mysqld]
user = mysql
socket = /var/run/mysqld/mysqld.sock
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
tmpdir = /tmp
log_error = /var/log/mysql/error.log
slow-query-log = ON
slow-query-log-file = /var/log/mysql/slow.log
[mysqld_safe]
basedir=/usr/local/mysql ← これが無いとmysqld_safe起動でコケた
mysqlのサービスが自動で立ち上がるように仕込む
sudo cp support-files/mysql.server /etc/init.d/mysql.server
sudo sysv-rc-conf mysql.server on
sudo chkconfig --add mysql.server
sudo chkconfig --list mysql.server
mysql.server 0:off 1:off 2:on 3:on 4:on 5:on 6:off ← こーなってればOK
パス通す
vimでファイル開いて
sudo vim /etc/profile
下を追加するべし。
export PATH="$PATH:/usr/local/mysql/bin"
mysql初期化スクリプトを実行
これもオプションが大事。
sudo ./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
Installing MySQL system tables...
OK
Filling help tables...
OK
To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system
PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:
/usr/local/mysql/bin/mysqladmin -u root password 'new-password'
/usr/local/mysql/bin/mysqladmin -u root -h ubuntu password 'new-password'
Alternatively you can run:
/usr/local/mysql/bin/mysql_secure_installation
which will also give you the option of removing the test
databases and anonymous user created by default. This is
strongly recommended for production servers.
See the manual for more instructions.
You can start the MySQL daemon with:
cd /usr/local/mysql ; /usr/local/mysql/bin/mysqld_safe &
You can test the MySQL daemon with mysql-test-run.pl
cd /usr/local/mysql/mysql-test ; perl mysql-test-run.pl
Please report any problems with the /usr/local/mysql/scripts/mysqlbug script!
うまく行きましたでしょーか。
あと少しっす。
再度ディレクトリの所有者をいじる
sudo chown -R root:root ./
sudo chown -R mysql:mysql ./data
起動するする
sudo bin/mysqld_safe --user=mysql &
[1] 19398
vmubuntu@ubuntu:/usr/local/mysql$ 110509 00:49:08 mysqld_safe Logging to '/var/log/mysql/error.log'.
110509 00:49:08 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
※この前後でやり直しをするときは、再度初期化スクリプトを実行する必要がある。
別の端末を起動して、mysqlをスタートしてみる
mysql ←これを実行
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.5.12-log Source distribution
Copyright (c) 2000, 2010, 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> ←これが出たらOK。
mysql>exit ←これで終わる。
Bye
mysqlをexitして、rootにパスワードを設定するmysqladmin -u root password "newpassword"
mysqladmin -u root -h localhost password "newpassword"
rootでログインしてみよ
mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or ¥g.
Your MySQL connection id is 8
Server version: 5.5.12-log Source distribution
(省略)
匿名アカウントを削除
mysqlに接続したまま↓を実行
DELETE FROM mysql.user WHERE Host='localhost' AND User='';
FLUSH PRIVILEGES;
utf8になっとるかチェック
show variables like "char%";
+--------------------------+----------------------------------+
| Variable_name | Value |
+--------------------------+----------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/local/mysql/share/charsets/ |
+--------------------------+----------------------------------+
8 rows in set (0.00 sec)
とりあえずmysqlのインストール、これにて終了!!
お疲れさまでした。
今後railsで使いたいので、仕上げにruby用のアダプタをインストールして終わりましょう。
mysqlはexitして、
sudo aptitude install libmysql-ruby1.8
ちなみにubuntuにmysqlということでは下のサイトが一番参考になりました。
参考サイト:
Installing MySQL 5.5.11 Generic Binaries in Ubuntu
参考にさせていただいたサイトのみなさまホントにホントに感謝です。
私と同じ素人さん、参考になれば幸いです。
玄人さん、おかしいとこあったら指摘いただけると勉強になりますのでよろしくお願いします。
次回は「職場のDWH(MS SQL Server)にアクセスして何かしたりするツールもRubyでできたら公私混同でいいかもしんない」編です。