MySQL に関するインストールメモ(2002/05/30)
フリーのデータベースサーバソフトです。処理速度を優先に開発されているため、市販データベースソフトよりも早く軽快に動作します。またセキュリティも堅牢なため結構、ビジネスモデルでも使用されています。ただ残念なのは、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/mysql3) データベース格納ディレクトリを作成します。(任意ディレクトリでかまいません)
# mkdir /export/home/mysql_var
# chown -R mysql:mysql /export/home/mysql_var4) 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/mysql5) データベースの初期化を行います。
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.0008) データベースの停止を行います。
mysql% /opt/sfw/mysql/bin/mysqladmin -u root shutdown
※サーバーをリスタートするには、safe_mysqld か mysqld を直接実行します。例えば:
mysql% /opt/sfw/mysql/bin/safe_mysqld --log &
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