ひげろぐ

技術者として仕事人としての思うところや覚え書きやらです
Home      Profile      Works     
2009-03-27

複数MySQLのセットアップ備忘メモ

CentOSにてパッケージインストールのMySQLを元に。
割とやっつけ。

手順は以下の通り。

  • /etc/my2.cnfを準備
  • データディレクトリの準備
  • 起動スクリプトのコピーと編集
  • 自動起動の設定

/etc/my2.cnfを準備

テキトーに。
以下の項目は起動スクリプトで使われるので必須。

  • datadir
  • socket
  • log-error
  • pid-file

あとportとかもかぶらないように。

データディレクトリの準備

テキトーに。

起動スクリプトのコピーと編集

$ sudo cp /etc/init.d/mysqld /etc/init.d/mysqld_2
$ sudo vi /etc/init.d/mysqld_2

やっつけ感ただようファイル名。

ヘッダ行とかの書き換え

mysqlをmysql_2にするとかてけとうに。

# mysqld_2      This shell script takes care of starting and stopping
#               the MySQL subsystem (mysqld).
#
# chkconfig: - 64 36# description:  MySQL database server.
# processname: mysqld_2
# config: /etc/my2.cnf
# pidfile: /var/run/mysqld/mysqld_2.pid

prog="MySQL_2"
get_mysql_option関数の変更

my_print_defaultsコマンドに与える引数に設定ファイルを指定するオプションを追加する。

result=`/usr/bin/my_print_defaults -c /etc/my2.cnf "$1" | sed -n "s/^--$2=//p" | tail -n 1`
mysqld_safeの実行行

オプションは全部設定ファイルで与えることにして、他のオプションは全部削除。

/usr/bin/mysqld_safe --defaults-file=/etc/my2.cnf >/dev/null 2>&1 &

ここまでやると以下のようにして起動できるようになる。

$ sudo /etc/init.d/mysqld_2 start

psコマンドなどできちんと起動しているかどうか確認できればオッケー。

自動起動設定

仕上げ

$ sudo /sbin/chkconfig --add mysqld_2
$ sudo /sbin/chkconfig mysqld_2 on
2009-03-23

CentOSにyumのインストール

普通は最初から入っているものだけれど、レンタルサーバなどでは入ってないこともあるので入れる手順をメモ。
yumを入れてパッケージの自動アップデートを有効にするまで。

yumのインストール

まずバージョン確認。

$ cat /etc/redhat-release

CentOS 5.2だったのでそれにあったパッケージをriken.jpとかから落とす。

$ wget ftp://ftp.riken.jp/Linux/centos/5.2/os/x86_64/CentOS/yum-3.2.8-9.el5.centos.1.noarch.rpm
$ wget ftp://ftp.riken.jp/Linux/centos/5.2/os/x86_64/CentOS/yum-metadata-parser-1.1.2-2.el5.x86_64.rpm
$ wget ftp://ftp.riken.jp/Linux/centos/5.2/os/x86_64/CentOS/python-elementtree-1.2.6-5.x86_64.rpm
$ wget ftp://ftp.riken.jp/Linux/centos/5.2/os/x86_64/CentOS/python-urlgrabber-3.1.0-2.noarch.rpm
$ wget ftp://ftp.riken.jp/Linux/centos/5.2/os/x86_64/CentOS/python-sqlite-1.1.7-1.2.1.x86_64.rpm
$ wget ftp://ftp.riken.jp/Linux/centos/5.2/os/x86_64/CentOS/m2crypto-0.16-6.el5.2.x86_64.rpm
$ wget ftp://ftp.riken.jp/Linux/centos/5.2/os/x86_64/CentOS/rpm-python-4.4.2-48.el5.x86_64.rpm
$ wget ftp://ftp.riken.jp/Linux/centos/5.2/os/x86_64/CentOS/python-iniparse-0.2.3-4.el5.noarch.rpm
$ sudo rpm -ivh *

yum-3.2.8-9.el5.centos.1.noarch.rpmを単体で入れようとすると何が足りないか教えてくれるので、表示されたパッケージを全部持ってきて入れたらよい。

これでインストール完了。
ついでによさげなミラーから落としてきてくれるように以下のパッケージも入れておく。

$ sudo yum -y install yum-fastestmirror

自動アップデートの設定

yumによるパッケージ自動アップデートの手段としてyum-updatesdやyum-cronがあるが、シンプルなyum-cronをチョイス。
yum-updatesdは常駐型なのでその分リソースを食うが、yum-cronはcronでyumを叩くだけなので特別なリソースを必要としない。

$ sudo yum -y install yum-cron
$ sudo /etc/init.d/yum-cron start
$ sudo /sbin/chkconfig yum-cron on

startするってことはこっちも常駐するdaemonなんじゃないの?という気がするが、cronでyumを動かすかどうかを判断するためのロックファイルを作ってるだけなのでdaemonではない。

yum-cronの設定ファイル

/etc/sysconfig/yum-cronを編集することで自動アップデートの動作を変えることができる。

 # Don't install, just check (valid: yes|no)
CHECK_ONLY=no
# Don't install, just check and download (valid: yes|no)
# Implies CHECK_ONLY=yes (gotta check first to see what to download)
DOWNLOAD_ONLY=no

デフォルトではアップデートされたパッケージのチェック、ダウンロード、インストールまでを行うようになっている。
CHECK_ONLY=yesにすればチェックのみ、DOWNLOAD_ONLY=yesにすればチェックしてダウンロードするのみ。
自動でアップデートをインストールして欲しくない場合はこの設定ファイルをいじればよい。

参考
2008-04-22

CentOS 5.1にGitをパッケージで入れる

2010年の昨今はExtra Packages for Enterprise Linux (EPEL)から入れるのがおすすめ。
EPELに関しては追記参照。

最近Gitが幅をきかせているので重い腰を上げて入れてみた。
特に何も考えず以下のコマンドを打ってみる。

$ sudo yum install git

なんだか入った。

でも標準リポジトリには入ってないようだ。
標準のリポジトリじゃなくて外部リポジトリとして登録してあるDagのところから入った。
外部リポジトリ登録がない環境でもパッケージはあるのでRPMを落としてきて入れられるね。

参考:YUMで便利な外部リポジトリを使う – ひげろぐ

あとは以下のページとかみながらちょっと触ってみますかね。

Git入門 – トップページ

とりあえずチュートリアルの最初だけ試してみた。

$ git config --global user.name "akahige"
$ git config --global user.email akahigeg@gmail.com

ちゃんと登録されているのかな?

$ git config --global --list
user.name=akahige
user.email=akahigeg@gmail.com

されてた。ぐっど。

2010/7/30追記

EPELの方がなんとなく安心度高い。

$ sudo wget http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm
$ sudo rpm -ivh epel-release-5-3.noarch.rpm

で、yumでEPELのリポジトリが有効になる。

2008-04-09

CentOS 5.1でGruffのインストール

Railsでグラフを書いてみようと思った。

棒グラフ限定ならCSS Graphsというプラグインがあって、これは他のライブラリのインストール等なくすぐ使えるのでお手軽。

しかし折れ線グラフを書きたいのです。
そこでちょいと調べてみるとGruffというのがスタンダードっぽい。

Gruffを使うにはRMagickが必要で、RMagickにはImageMagickが必要なので、まずはそれらのライブラリの準備から。
さらに途中でTrueTypeフォントを入れる必要もあったのでそこらへんも。

ImageMagickを入れる

$ sudo yum install ImageMagick ImageMagick-devel

ImageMagick自体はこれでさっくり入った。
RMagickを入れるときにヘッダファイルも必要なのでImageMagick-develも入れてある。

RMagickを入れる

続いてRMagick。gemが用意されているので簡単。

$ sudo gem install rmagick

と、思いきやパッケージで入れたImageMagickのバージョンが6.2.8なのでうまく入らないという罠が隠されていた。
上の方法でRMagickを入れようとするとVer.2系が入るので、Ver.2が要求するImageMagick6.3.0以降が必要になる。

ImageMagickを入れたときの依存するライブラリの多さからして、ImageMagickのバージョンを上げるというのは茨の道に思われたので、それは却下。
RMagickをなんとか入れる方法をさぐることにする。

しかしパッケージのバージョンが古いせいでこういう面倒が起きたりするとDebianとかがうらやましくなるね。

Rmagick 1.15.3を入れようとしてまた罠

以下のページを参考に。

次のようにするとVer.1系が入るという。

sudo gem install rmagick -v 1.15.3

しかしなにやら入らない。情報が古いのだろうか。
とりあえず単にgemが見つからないというエラーだったのでgemファイルを落としてきて入れる。

$ wget http://rubyforge.org/frs/download.php/32328/rmagick-1.15.13.gem
$ sudo gem install rmagick-1.15.13.gem

しかしまたしてもインストールできない。エラーが出てしまう。
エラーメッセージの内容を読むにTrueTypeフォントが入ってないせいらしい。

やれやれだぜ。

フォントを入れる

とりあえずまずはフォント関連のパッケージを見てみたが、何が何やらよくわからない。フォントのことはよくわからんな。
そこで以下のページを参考にMSの配布しているMicrosoft’s TrueType core fontsを入れることにした。

Personal Fedora Core 6 Installation Guide

ここで配布されているRPMを落としてきて

$ sudo rpm -ivh msttcorefonts-2.0-1.noarch.rpm

インストールすると/usr/share/fonts/msttcorefonts以下にフォントファイルができるので、これをRMagickのgemが要求する/usr/share/fonts/defaults/TrueType以下にコピーする。
それから再び

$ sudo gem install rmagick-1.15.13.gem

これでようやくRMagickが入った。

Microsoft’s TrueType core fontsのライセンスについて

ところでこれって合法的なの?と気になったのでちょっと調べてみる。

bitWalk’s: Smart package of Microsoft’s core fonts

フォントを何かに組み込んで再配布しなければ問題ないようだ。よかったよかった。

Gruffを入れる

RMagickが入ってしまえばあとは難しいことはなし。

$ sudo gem install gruff

サンプルコードを試すとさくっと使えた。ヤター。

参考

copyright brass.to | powered by WordPress ME