MySQL に関するインストールメモ(2002/05/30) 
 

MySQL とは

フリーのデータベースサーバソフトです。処理速度を優先に開発されているため、市販データベースソフトよりも早く軽快に動作します。またセキュリティも堅牢なため結構、ビジネスモデルでも使用されています。ただ残念なのは、ANSI基準のSQL命令全てサポートされていないということです。そのため最近では、PostgreSQL が多く使わるようです。

    参考 : @MySQLインストール完全ガイド

    参考 : MySQL Reference Manual for version 3.23.33  (4.MySQLのインストール

    参考 : データベースを導入しよう

    参考 : レッツPHP

パッケージの確認

MySQL は、Intel-Solaris8(2/02) の Solaris Software Companion に入っています。ここでは、導入済みのパッケージを使用して環境設定を行っていきます。 パッケージが導入されていない場合は、4.MySQLのインストール を参考にしながら、ソースファイルからビルドしてください。

1) パッケージの確認を行います。 

# pkginfo | grep mysql
    system SFWmysql mysql - MySQL Database Management System
# find / -name 'mysql' -print
    /opt/sfw/mysql
    /opt/sfw/mysql/bin/mysql
    /opt/sfw/mysql/include/mysql
    /opt/sfw/mysql/lib/mysql
    /opt/sfw/mysql/share/mysql

設定方法

1) MySQL を管理する mysql ユーザを作成します。 

# groupadd -g 1200 mysql
# useradd -u 1200 -g mysql -d /export/home/mysql -s /bin/tcsh -m mysql
# passwd mysql

2) 管理ファイルの出力場所と、ファイル属性を変更します。

# mkdir /opt/sfw/mysql/var
# chown -R mysql:mysql /opt/sfw/mysql

3) データベース格納ディレクトリを作成します。(任意ディレクトリでかまいません)

# mkdir /export/home/mysql_var
# chown -R mysql:mysql /export/home/mysql_var

4) MySQL グローバル定義ファイルを作成します。(複数の MySQL を動作させないという前提です)

# cp /opt/sfw/mysql/share/mysql/my-small.cnf /etc/my.cnf
# vi /etc/my.cnf   ※下記の定義を追加します
    [mysqld]
    datadir=/export/home/mysql_var ← データベース格納ディレクトリを指定します

    [mysql.server]
    user=mysql
    basedir=/opt/sfw/mysql

5) データベースの初期化を行います。

mysql% setenv MYSQL_UNIX_PORT /tmp/mysqld.sock
mysql% /opt/sfw/mysql/bin/mysql_install_db
             $datadir/mysql
             $datadir/test
             ※ /etc/my.cnf で指定した datadir 変数以下に、テストテーブルが作成されます

6) データベースの起動テストを行います。

mysql% /opt/sfw/mysql/bin/safe_mysqld --user=mysql &

    参考 : 起動と停止

7) 正常に起動しているかテストを行います。

mysql% /opt/sfw/mysql/bin/mysqladmin version
    /opt/sfw/mysql/bin/mysqladmin Ver 8.21 Distrib 3.23.43, for pc-solaris2.8 on i386
    Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
    This software comes with ABSOLUTELY NO WARRANTY. This is free software,
    and you are welcome to modify and redistribute it under the GPL license

    Server version 3.23.43
    Protocol version 10
    Connection Localhost via UNIX socket
    UNIX socket /tmp/mysqld.sock
    Uptime: 45 min 12 sec

    Threads: 1 Questions: 1 Slow queries: 0 Opens: 6 Flush tables: 1 Open tables: 0 Queries per second avg: 0.000

8) データベースの停止を行います。

mysql% /opt/sfw/mysql/bin/mysqladmin -u root shutdown

※サーバーをリスタートするには、safe_mysqld か mysqld を直接実行します。例えば: 
mysql% /opt/sfw/mysql/bin/safe_mysqld --log &

Perl アクセスモジュールの設定

Perl からアクセスするためには、Data-Dumper、DBI、 Msql-Mysql-modules が必要となります。左記、全てを含むパッケージは、Msql-Mysql-modules(2002/05/30現在 Data-Dumper-2.101)なので、このパッケージをインストールすれば問題ありません。(但し、Perl のバージョンに左右されるらしいです)

    参考 : Perlでデータベースを使いこなす

パッケージをインストールします。

% cd /opt/local/src
% wget ftp://ftp.u-aizu.ac.jp/ftp/pub/dbms/mysql/mysql.com/Downloads/Contrib/Data-Dumper-2.101.tar.gz
% gzip -cd Data-Dumper-2.101.tar.gz | tar xf -
% cd Data-Dumper-2.101
% perl Makefile.PL
% make
% make test
    モジュールが動作するかを確かめるので make test コマンドは重要です。インターフェースコードのテストのために Msql-Mysql-modules のインストール中にこれらのコマンドを実行する際には、 MySQL サーバーが稼働していなければなりません。でなければ、テストは失敗します。
% su
# make install

自動起動&終了の設定

まいどのことですね (^o^)丿

# vi /etc/init.d/mysql
# chmod +x /etc/init.d/mysql
# ln -s /etc/init.d/mysql /etc/rc3.d/S99mysql
# ln -s /etc/init.d/mysql /etc/rc3.d/K99mysql
# ln -s /etc/init.d/mysql /etc/rc0.d/K10mysql