いわマン備忘録

備忘録とちょっとした設定メモや小ネタをUPしたいと思っております。

mysqlのインストール

###
### mysqlのインストールと設定
###

# 必要なものインスコ
yum -y install openssl-devel perl-devel libaio

# パッケージDL
wget http://wing-net.ddo.jp/wing/6/x86_64/mecab-0.996-1.el6_2.wing.x86_64.rpm
wget http://wing-net.ddo.jp/wing/6/x86_64/mecab-devel-0.996-1.el6_2.wing.x86_64.rpm
wget http://wing-net.ddo.jp/wing/6/x86_64/mecab-ipadic-2.7.0.20070801-2.el6_1.wing.x86_64.rpm
wget http://wing-net.ddo.jp/wing/6/x86_64/groonga-libs-4.0.3-1.el6_24.wing.x86_64.rpm
wget http://wing-net.ddo.jp/wing/6/x86_64/groonga-normalizer-mysql-1.0.6-1.el6_5.wing.x86_64.rpm
wget http://wing-net.ddo.jp/wing/6/x86_64/mysql56-5.6.19-1.el6_16.wing.x86_64.rpm
wget http://wing-net.ddo.jp/wing/6/x86_64/mysql56-bench-5.6.19-1.el6_16.wing.x86_64.rpm
wget http://wing-net.ddo.jp/wing/6/x86_64/mysql56-devel-5.6.19-1.el6_16.wing.x86_64.rpm
wget http://wing-net.ddo.jp/wing/6/x86_64/mysql56-libs-5.6.19-1.el6_16.wing.x86_64.rpm
wget http://wing-net.ddo.jp/wing/6/x86_64/mysql56-mroonga-4.03-1.el6_31.wing.x86_64.rpm
wget http://wing-net.ddo.jp/wing/6/x86_64/mysql56-server-5.6.19-1.el6_16.wing.x86_64.rpm

# その他必要なもの
wget ftp://ftp.pbone.net/mirror/dag.wieers.com/redhat/el6/en/x86_64/extras/RPMS/perl-DBD-MySQL-4.014-1.el6.rfx.x86_64.rpm
wget ftp://ftp.pbone.net/mirror/dag.wieers.com/redhat/el6/en/x86_64/extras/RPMS/perl-DBI-1.616-1.el6.rfx.x86_64.rpm
wget ftp://ftp.pbone.net/mirror/dag.wieers.com/redhat/el6/en/x86_64/extras/RPMS/perl-Test-Simple-0.98-1.el6.rfx.noarch.rpm
wget ftp://ftp.pbone.net/mirror/ftp.scientificlinux.org/linux/scientific/6.1/x86_64/os/Packages/libaio-0.3.107-10.el6.x86_64.rpm

# アップデート
rpm -Uvh mecab-*.rpm mecab-devel-*.rpm
rpm -Uvh groonga-libs-*.rpm groonga-normalizer-mysql-*.rpm
rpm -Uvh perl-Test-Simple-*.rpm
rpm -ivh perl-DBI-*.x86_64.rpm
rpm -Uvh mysql56-*.rpm perl-DBD-MySQL*.rpm

# パッケージ保存用ディレクトリ作成
mkdir /root/mysql56_wing

mv mecab-*.rpm mecab-devel-*.rpm /root/mysql56_wing
mv groonga-libs-*.rpm groonga-normalizer-mysql-*.rpm /root/mysql56_wing
mv perl-Test-Simple-*.rpm /root/mysql56_wing
mv perl-DBI-*.x86_64.rpm /root/mysql56_wing
mv mysql56-*.rpm perl-DBD-MySQL*.rpm /root/mysql56_wing

# 依存で消したパッケージの再インストール
yum -y install cronie sysstat postfix
service postfix stop
chkconfig postfix off

# my.cnfのコピー
datetime=`date '+%Y%m%d%H%M%S'`
cp /etc/my.cnf /etc/my.cnf."$datetime"

# portの変更
vi /etc/my.cnf

# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

port = XXXX

※チューニングパラメータは別記事で

# mysql起動
# Innodbファイル作成に時間がかかる
service mysqld start

# mroongaプラグイン有効化
mysql -u root -p

INSTALL PLUGIN mroonga SONAME 'ha_mroonga.so';
CREATE FUNCTION last_insert_grn_id RETURNS INTEGER soname 'ha_mroonga.so';
CREATE FUNCTION mroonga_snippet RETURNS STRING soname 'ha_mroonga.so';
CREATE FUNCTION mroonga_command RETURNS STRING soname 'ha_mroonga.so';

# 有効化の確認
# show enginesをした時にmroongaのSupportがYESになっていれば大丈夫
show engines;

# user、host、passの確認
select user,host,password from mysql.user;

# 必要に応じてPASSを設定
set password for root@localhost=password('hogehoge');
set password for root@127.0.0.1=password('hogehoge');
set password for ユーザー名@'ホスト名'=password('hogehoge');

# レプリの場合は接続ユーザー作成
grant all privileges on 対象DB.* to ユーザー名@"IPアドレス" identified by 'パスワード' with grant option;

# ホスト名の変更(間違った時の修正方法)
update mysql.user set host="旧ホスト" where host="新ホスト";

# mysqlから出る
\q

# mysqltunerのDL。チューニングの参考に。
wget -O MySQLTuner.zip https://github.com/rackerhacker/MySQLTuner-perl/archive/master.zip
unzip MySQLTuner.zip

# デフォルト設定されているcrontabの内容を変更する
# mysql-libsの関係で一度cronなどが削除されるので再設定

# variable datetime
datetime=`date '+%Y%m%d%H%M%S'`

# cronの再設定
## ここからコピペ ##
config=`cat << 'EOS'
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

# run-parts
0 * * * * root run-parts /etc/cron.hourly/
0 0 * * * root run-parts /etc/cron.daily
0 0 * * 0 root run-parts /etc/cron.weekly
0 0 1 * * root run-parts /etc/cron.monthly
EOS
`
## ここまでコピペ ##

# 設定テンプレート書込
echo "$config" > /etc/crontab

service crond restart

# mysql起動
chkconfig mysqld on
service mysqld restart

# 起動時にエラーがないか確認
less /var/log/mysqld.log