Solaris10にプリインストールされているMySQLを設定する
- 2008.09.05
- Solaris
Solaris10に最初から入っているMySQLを使うための設定を行った.
■設定のためのリードミードキュメントを読む
/etc/sfw/mysql/README.solaris.mysql
To use mysql a number of post-install procedures need to be made by root. The following steps are derived from the mysql manual (manual.ps, manual.txt or manual_toc.html) found in the /usr/sfw/src/mysql/Docs directory. Initialise the database tables. # /usr/sfw/bin/mysql_install_db Create mysql user and group and change data directory group. # groupadd mysql # useradd -g mysql mysql # chgrp -R mysql /var/mysql # chmod -R 770 # installf SUNWmysqlr /var/mysql d 770 root mysql MySQL reads configuration files from different places in the following order. Filename Purpose --------- --------- /etc/my.cnf Global options DATADIR/my.cnf Server-specific options defaults-extra-file The file specified with --defaults-extra-file=path ~/.my.cnf User-specific options Optionally copy a mysql daemon configuration file to configuration directory. Note there are other configuration profiles available. For default solaris installation DATADIR is /var/mysql. # cp /usr/sfw/share/mysql/my-medium.cnf /var/mysql/my.cnf Start mysql daemon by hand # /usr/sfw/sbin/mysqld_safe --user=mysql & Optionally perform the following steps for automatic start and stop of mysql daemon at boot and shutdown. Link boot time start up script from rc3.d and rc[012S].d # ln /etc/sfw/mysql/mysql.server /etc/rc3.d/S99mysql # ln /etc/sfw/mysql/mysql.server /etc/rc0.d/K00mysql # ln /etc/sfw/mysql/mysql.server /etc/rc1.d/K00mysql # ln /etc/sfw/mysql/mysql.server /etc/rc2.d/K00mysql # ln /etc/sfw/mysql/mysql.server /etc/rcS.d/K00mysql
■設定リードミードキュメントの通り実行する
# /usr/sfw/bin/mysql_install_db # groupadd mysql # useradd -g mysql mysql # chgrp -R mysql /var/mysql # chmod -R 770 /var/mysql (マニュアルはここが抜けていた) # installf SUNWmysqlr /var/mysql d 770 root mysql # cp /usr/sfw/share/mysql/my-medium.cnf /etc/my.cnf (varではなくetcだと思う)
リードミーでは、/var/mysql/my.cnfと書いてあるけど、起動ファイルの/etc/sfw/mysql/mysql.server を見てみると、そのような記述はない。たぶん、リードミーの書き間違いかな…。
■MySQLを起動する
とりあえず起動して、動作確認する。
シェルスクリプト mysqld_safe に引数を付けて実行する。
# /usr/sfw/sbin/mysqld_safe --user=mysql &
■MySQLクライアントから接続する
とりあえず、接続できるかを確認する。
# /usr/sfw/bin/mysql -u root
データベースが存在していることを確認する。
mysql> show databases; mysql> exit;
■MySQLが自動起動するようにしておく
サーバ再起動時にMySQLが自動で起動するようにしておく。
/etc/init.d/mysql を用意して、rc*.d ごとにシンボリックリンクを張った。
起動スクリプトを変更したくなったら、/etc/init.d/mysqlだけを変更すればOK。
# cd /etc/init.d/ # ln -s /etc/sfw/mysql/mysql.server mysql # cd /etc/rc3.d/ # ln -s /etc/init.d/mysql S99mysql # cd /etc/rc0.d/ # ln -s /etc/init.d/mysql K00mysql # cd /etc/rc1.d/ # ln -s /etc/init.d/mysql K00mysql # cd /etc/rc2.d/ # ln -s /etc/init.d/mysql K00mysql # cd /etc/rcS.d/ # ln -s /etc/init.d/mysql K00mysql
■データの引っ越しを行う
今まで使っていた、MySQLのデータを予めtarで固めておいて、それをftpで持ってきて解凍すればそのまま使える。
解凍先は、/var/mysql/でも良いし、自分の好きな場所でも良い.自分の場合は容量がたくさんとれる/export/home/mysql/mysql4/data/ として保存した。
$ cd /export/home/mysql/mysql4 $ tar xvf data.tar
/export/home/mysql/mysql4/data/ をデータディレクトリとして認識するように、起動スクリプト/etc/init.d/mysqlを変更する。
/etc/init.d/mysql の次の行を変更する。
datadir=/var/mysql
↓
datadir=/export/home/mysql/mysql4/data
mysqlを再起動して有効にする。
# /etc/init.d/mysql stop # /etc/init.d/mysql start
引っ越し前のサーバがSPARCで、新しい引っ越し先がX64だけど問題なく動いた。バイナリ互換らしい。
同じバージョンのMySQL 4.0.24同士だったから楽だった。
-
前の記事
Solarisにrsyncをインストール 2008.09.03
-
次の記事
Solaris PHPの引っ越し 2008.09.08