Solaris10:MySQL 5.5.2-m2導入

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

目次

MySQL 5.5.2-m2 インストール

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

今回はMySQL 5.5系(MySQL 5.5.2-m2)をインストールすることにした

OS標準が持つMySQLを削除

OS標準が持つMySQLが存在すると、他プログラムからMySQLクライアントとリンクしようとした場合に具合が悪いのでとっとと削除。またそれに依存するパッケージも併せて削除。

# pkgrm SUNWmysqlr SUNWmysqlt SUNWmysqlu SUNWserweb SUNWseru

MySQLユーザ作成

MySQLの動作ユーザ・グループを作成する。

# groupadd -g 3306 mysql
# useradd -u 3306 -g mysql -s /bin/false -d /usr/local/mysql mysql

MySQLコンパイル

5.1系からInnnodbがプラグイン化されているため、--with-plugins=max-no-ndbを指定してndb以外のプラグインをコンパイルするオプションを利用する。

# wget ftp://ftp.iij.ad.jp/pub/db/mysql/Downloads/MySQL-5.5/mysql-5.5.2-m2.tar.gz
# gzip -dc mysql-5.5.2-m2.tar.gz | tar xf -
# cd mysql-5.5.2-m2
# ./configure --with-libwrap \
  --prefix=/usr/local/mysql \
  --with-mysqld-user=mysql \
  --with-charset=utf8 \
  --with-extra-charsets=all \
  --with-collation=utf8_general_ci \
  --enable-thread-safe-client \
  --with-plugins=max-no-ndb
# gmake
# gmake install

ライブラリパスの設定

crleコマンドを利用して/usr/local/mysql/lib, /usr/local/mysql/lib/mysqlに対してライブラリパスを通します。

# crle -u -l /usr/local/mysql/lib
# crle -u -l /usr/local/mysql/lib/mysql
# crle

Configuration file [version 4]: /var/ld/ld.config
  Default Library Path (ELF):   /lib:/usr/lib:/usr/local/mysql/lib:/usr/local/mysql/lib/mysql
  Trusted Directories (ELF):    /lib/secure:/usr/lib/secure  (system default)

Command line:
  crle -c /var/ld/ld.config -l /lib:/usr/lib:/usr/local/mysql/lib:/usr/local/mysql/lib/mysql

初期設定

初期設定ファイルを参考に適宜設定します。 /etc/my.cnfを準備する。

# cp support-files/my-medium.cnf /etc/my.cnf

innnodbを利用するため、/etc/my.cnfの以下のコメントアウトされた行を有効化する必要がある。

なおパラメータチューニングは今回対象外としているため、設定ファイルに記述されたパラメータをそのまま利用する。

# vi /etc/my.cnf
innodb_buffer_pool_size = 16M
innodb_additional_mem_pool_size = 2M

innodb_log_file_size = 5M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50

データベースの初期化

初期データベースを作成します。

# 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アカウントのパスワード設定

rootアカウントのパスワードを設定します。セキュリティ上大切なので必ず実施しましょう。

# /usr/local/mysql/bin/mysqladmin -u root 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

5.1系等からバージョンアップする場合

MySQL 5.5.2-m2を上書きインストールしデーモンを起動後、以下コマンドを実行します。

# mysql_upgrade -uroot -p
個人用ツール