masalibの日記

システム開発、運用と猫の写真ブログです

centos5.11でのWEBサーバー構築:(mysql編)

その1の続きで
ソースからmysqlをインストールする部分です

3・Mysqlのインストール

3-1・ソースのダウンロード解凍
cd /usr/local/src/
wget http://downloads.mysql.com/archives/mysql-5.1/mysql-5.1.66.tar.gz
tar zxvf mysql-5.1.66.tar.gz

もしダウンロードできない場合は最新バージョンを探してください

3-2・コンパイル(configureとmake)
cd mysql-5.1.66
./configure --with-charset=utf8 --with-extra-charsets=all --with-mysqld-user=mysql --prefix=/usr/local/mysql --with-innodb --enable-thread-safe-client --with-charset=binary
make
make install
3-3・ユーザーの設定
groupadd mysql
useradd -g mysql mysql
3-4・mysqlの起動スクリプトの設定
cp support-files/my-medium.cnf /etc/my.cnf
cd /usr/local/mysql
bin/mysql_install_db --user=mysql

#パーミッションを変更
chown -R root  .
chown -R mysql var
chgrp -R mysql .
3-5・ログ設定
#スロークエリログ出力設定
#ログ格納ディレクトリの作成
mkdir /var/log/mysql

#スロークエリログファイル作成
touch /var/log/mysql/mysql-slow-query.log

#ログファイルのパーミッション変更
chmod 755 /var/log/mysql/mysql-slow-query.log

#ログファイルの所有者変更
chown mysql:mysql /var/log/mysql/mysql-slow-query.log

#設定ファイルの修正
vim /etc/my.cnf

場所 : [mysqld]配下 38行目付近

  # スロークエリフラグ
  slow_query_log = 1
  # スロークエリ出力先ファイル名
  slow_query_log_file = /var/log/mysql/mysql-slow-query.log
  # 何秒からスロークエリ扱いとするか
  long_query_time = 1
#ログローテートの設定
vim  /etc/logrotate.d/mysql-log-rotate

下記の内容をコピペする

/var/log/mysql/mysql-slow-query.log {
    create 755 mysql mysql
    notifempty
    daily
    rotate 31
    missingok
    compress
    dateext
    postrotate
    # just if mysqld is really running
    if test -x /usr/local/mysql/bin/mysqladmin && \
       /usr/local/mysql/bin/mysqladmin ping &>/dev/null
    then
       /usr/local/mysql/bin/mysqladmin flush-logs
    fi
    endscript
}
3-6・pathの設定

コマンドで実行する時にいちいちmysqlのフォルダ
に行くのがめんどくさいから設定する

cd 
vi .bash_profile 

PATH=$PATH:$HOME/bin

PATH=$PATH:$HOME/bin:/usr/local/mysql/bin/

/usr/local/mysql/bin/を追加する

再度ログインしなおして

echo $PATH

で確認する

3-7・起動テスト
#MySQL サーバを起動する
mysqld_safe --user=mysql &

#バージョン確認
mysqladmin version
mysqladmin variables
3-8・起動スクリプトの設定
cd /usr/local/mysql/share/mysql/
./mysql.server start 
./mysql.server stop
./mysql.server start

cp mysql.server /etc/init.d/mysql
chmod +x /etc/init.d/mysql
chkconfig --add mysql
chkconfig --list | grep mysql

#ユーザーのパスワードを設定する
/usr/local/mysql/bin/mysql -u root

以下はmysqlのコマンド

select user,host,password from mysql.user;
set password for root@localhost=password('password12345678');
set password for root@'xxxxxxxxxxxxxx'=password('password12345678');
set password for root@127.0.0.1=password('password12345678');
select user,host,password from mysql.user;
xxxxxxxxxxxxxxの部分はホスト名
3-9・FreeTDSのインストール(SQLServer接続)
cd /usr/local/src/
wget http://mirrors.ibiblio.org/freetds/stable/freetds-stable.tgz
tar xvzf freetds-stable.tgz
cd freetds-stable/
./configure --prefix=/usr/local/freetds
make
make install

長いよ~wwww