Solaris10:MySQL-5.1.30導入

提供:KinusatiWiki
移動: 案内, 検索

このページの情報は古いです。以下のページに移行しました。


目次

MySQL インストール

データ管理のためMySQL Community Serverをインストールする。

OS標準が持つMySQLを削除

OS標準が持つMySQLが存在すると、他プログラムからMySQLクライアントとリンクしようとした場合に具合が悪いのでとっとと削除。

# pkgrm SUNWmysqlr SUNWmysqlt SUNWmysqlu

MySQLユーザ作成

# groupadd -g 1011 mysql
# useradd -u 1011 -g mysql -s /bin/false mysql

MySQLコンパイル

5.1系からInnnodbがプラグイン化されているため、以下のコンパイルオプションを利用する。

# wget http://dev.mysql.com/get/Downloads/MySQL-5.1/mysql-5.1.30.tar.gz/from/http://ftp.iij.ad.jp/pub/db/mysql/
# gzip -dc mysql-5.1.30.tar.gz | tar xf -
# cd mysql-5.1.30
# ./configure --prefix=/usr/local/mysql \
  --with-mysqld-user=mysql \
  --with-charset=utf8 \
  --with-extra-charsets=all \
  --enable-thread-safe-client \
  --with-plugins=innobase
# gmake
# gmake install

もし、partitionを利用したい場合は以下のコンパイルオプションを利用

# ./configure --prefix=/usr/local/mysql \
  --with-mysqld-user=mysql \
  --with-charset=utf8 \
  --with-extra-charsets=all \
  --enable-thread-safe-client \
  --with-plugins=innobase,partition

初期設定

# cp support-files/my-medium.cnf /usr/local/etc/my.cnf
# vi /usr/local/etc/my.cnf

データベースの初期化

# cd /usr/local/mysql
# ./bin/mysql_install_db --user=mysql
# chown -R root .
# chown -R mysql:mysql var
# ./bin/mysqld_safe --user=mysql &

動作確認

# /usr/local/mysql/bin/mysqladmin version
# /usr/local/mysql/bin/mysqlshow

rootアカウントのパスワード設定

# /usr/local/mysql/bin/mysqladmin -u root password 'new-password'
# /usr/local/mysql/bin/mysqladmin -u root -h hogehoge password 'new-password'

自動起動

起動スクリプトを作成する

# vi /lib/svc/method/mysql
#!/bin/sh
MYSQL=/usr/local/mysql

case "$1" in
start)
    $MYSQL/bin/mysqld_safe --user=mysql &
;;
stop)
    $MYSQL/bin/mysqladmin shutdown
;;
restart)
    $MYSQL/bin/mysqladmin reload
;;
*)
    echo "Usage: $0 { start | stop }"
    exit 1
;;
esac
exit 0
# chmod 755 /lib/svc/method/mysql

manifestを作成する

# vi /tmp/mysql.xml
=> 詳細は以下参照

mysql.xml

manifestをインポート

# svccfg import /tmp/mysql.xml
# svcadm enable mysql

TIPS

  • my.cnf, datadir, pidの指定方法
コマンド書式)
# /usr/local/mysql/bin/mysqld_safe --defaults-extra-file=<my.cnfのパス> \
  --user=mysql \
  --datadir=<dataディレクトリのパス> \
  --pid-file=<PIDのパス>
例)
# /usr/local/mysql/bin/mysqld_safe --defaults-extra-file=/usr/local/etc/my.cnf \
  --user=mysql \
  --datadir=/mysql/data/mysql \
  --pid-file=/mysql/data/mysql/mysql.pid
個人用ツール