現在のポートは
sco3.2v5.0.5
、sco3.2v5.0.6
、および
sco3.2v5.0.7
のシステムのみでテストされたものです。sco3.2v4.2
へのポートのテストも進行中です。 Open Server
5.0.8 (Legend) はネイティブのスレッドで 2GB
以上のファイルが可能です。現在の最大のファイル
サイズは 2GB です。
MySQL を以下の configure コマンドで gcc 2.95.3 の OpenServer でコンパイルできます。
CC=gcc CFLAGS="-D_FILE_OFFSET_BITS=64 -O3" \ CXX=gcc CXXFLAGS="-D_FILE_OFFSET_BITS=64 -O3" \ ./configure --prefix=/usr/local/mysql \ --enable-thread-safe-client --with-innodb \ --with-openssl --with-vio --with-extra-charsets=complex
gcc は ftp://ftp.sco.com/pub/openserver5/opensrc/gnutools-5.0.7Kj にあります。
この開発システムは OpenServer 5.0.6 に関する
OpenServer 実行環境補足 oss646B が必要です。
oss656B および OpenSource ライブラリは gwxlibs
にあります。すべての OpenSource ツールは
opensrc
ディレクトリにあります。それらは
ftp://ftp.sco.com/pub/openserver5/opensrc/
で入手できます。
MySQL の最新の量産リリースの使用をお勧めしています。
SCO ではオペレーティング システムのパッチを ftp://ftp.sco.com/pub/openserver5 で OpenServer 5.0.[0-6] 用、ftp://ftp.sco.com/pub/openserverv5/507 で OpenServer 5.0.7 を提供しています。
SCO では OpenServer 5.0 のセキュリティの修正版に関する情報を ftp://ftp.sco.com/pub/security/OpenServer で提供しています。
OpenSever 5.0.x システムの最大ファイル サイズは 2GB です。
OpenServer 5.0.x ではストリーム バッファ、clists、および ロック レコードに割り当てられる総メモリは 60MB を超えることはできまえん。
ストリーム バッファは 4096 バイト ページ、clists は各 70 バイト、およびロック レコードは各 64 バイトなどの単位で割り当てられます。
(NSTRPAGES × 4096) + (NCLIST × 70) + (MAX_FLCKREC × 64) <= 62914560
データベースのサービス オプションを設定するには以下の手順に従います。アプリケーションが以下が必要かどうか分からない場合には、アプリケーションで提供された説明資料を参照してください。
root
としてログインします。
/etc/conf/sdevice.d/suds
ファイルを編集して SUDS
ドライバを有効にします。2
番目のファイルの N
を
Y
に変更します。
mkdev aio あるいは Hardware/Kernel マネージャを使用して非同期 I/O のサポートを有効にして kernel を再度リンクします。ユーザーがこの種の I/O にメモリを固定するには、aiomemlock(F) ファイルを更新します。このファイルを更新して AIO および固定する最大容量のメモリを使用するユーザー名を含めます。
多くのアプリケーションは単独のユーザーとして指定できるように setuid バイナリを使用しています。アプリケーションに付属の説明資料を参照して使用するアプリケーションのこのようになっているか確認します。
このプロセスを完了したら、システムをリブートしてこれらの変更を加えた新しい kernel を作成します。
デフォルトでは、/etc/conf/cf.d/mtune
へのエントリは以下のように設定されます。
Value Default Min Max ----- ------- --- --- NBUF 0 24 450000 NHBUF 0 32 524288 NMPBUF 0 12 512 MAX_INODE 0 100 64000 MAX_FILE 0 100 64000 CTBUFSIZE 128 0 256 MAX_PROC 0 50 16000 MAX_REGION 0 500 160000 NCLIST 170 120 16640 MAXUP 100 15 16000 NOFILES 110 60 11000 NHINODE 128 64 8192 NAUTOUP 10 0 60 NGROUPS 8 0 128 BDFLUSHR 30 1 300 MAX_FLCKREC 0 50 16000 PUTBUFSZ 8000 2000 20000 MAXSLICE 100 25 100 ULIMIT 4194303 2048 4194303 * Streams Parameters NSTREAM 64 1 32768 NSTRPUSH 9 9 9 NMUXLINK 192 1 4096 STRMSGSZ 16384 4096 524288 STRCTLSZ 1024 1024 1024 STRMAXBLK 524288 4096 524288 NSTRPAGES 500 0 8000 STRSPLITFRAC 80 50 100 NLOG 3 3 3 NUMSP 64 1 256 NUMTIM 16 1 8192 NUMTRW 16 1 8192 * Semaphore Parameters SEMMAP 10 10 8192 SEMMNI 10 10 8192 SEMMNS 60 60 8192 SEMMNU 30 10 8192 SEMMSL 25 25 150 SEMOPM 10 10 1024 SEMUME 10 10 25 SEMVMX 32767 32767 32767 SEMAEM 16384 16384 16384 * Shared Memory Parameters SHMMAX 524288 131072 2147483647 SHMMIN 1 1 1 SHMMNI 100 100 2000 FILE 0 100 64000 NMOUNT 0 4 256 NPROC 0 50 16000 NREGION 0 500 160000
これらの値を以下のように設定するようお勧めします。
NOFILES
は 4096 あるいは 2048
にします。
MAXUP
は 2048 にします。
kernel に変更を加えるには idtune
name parameter
コマンドを使用します。 idtune
はお客様に代わって
/etc/conf/cf.d/stune
ファイルを変更します。例えば、SEMMS
を 200
に変更するには、このコマンドを
root
として実行します。
# /etc/conf/bin/idtune SEMMNS 200
次に以下のコマンドを発行して kernel を再度ビルドしてリブートします。
# /etc/conf/bin/idbuild -B && init 6
弊社ではシステムのチューニングを推奨していますが、使用する適切なパラメータ値はアプリケーションあるいはデータベースにアクセスするユーザー数およびデータベースのサイズ (つまり、使用済みバッファ プール) に基づきます。以下の kernel パラメータは idtune で設定できます。
SHMMAX
(推奨設定値:128MB)
および SHMSEG
(推奨設定値:15).
これらのパラメータはユーザーのバッファ
プールを作成する MySQL のデータベース
エンジンに影響を及ぼします。
NOFILES
および
MAXUP
は最低でも 2048
に設定します。
MAXPROC
は最低でも 3000/4000
(ユーザー数による)
あるいはそれ以上に設定します。
弊社ではまた
SEMMSL
、SEMMNS
、および
SEMMNU
の値の計算に以下の式の使用を推奨しています。
SEMMSL = 13
13 は Progress および MySQL の両方に最適な値であることが分かっています。
SEMMNS = SEMMSL × number of db servers to be run on the system
SEMMNS
を一度にシステムで使用するデータベース
サーバの倍数 (最大)の
SEMMSL
の値に設定します。
SEMMNU = SEMMNS
SEMMNU
の値を設定して
SEMMNS
の値を同じにします。この値を
SEMMNS
の 75%
に設定できますが、これは控え目な値です。
gcc を使用するには少なくとも SCO OpenServer Linker およびアプリケーション開発ライブラリあるいは OpenServer 開発システムをインストールする必要があります。これらのうちどれかをインストールしなければ GCC Dev システムは使用できません。
FSU Pthreads パッケージを取得して最初にそれをインストールする必要があります。これは http://moss.csc.ncsu.edu/~mueller/ftp/pub/PART/pthreads.tar.gz にあります。コンパイル済みパッケージは ftp://ftp.zenez.com/pub/zenez/prgms/FSU-threads-3.14.tar.gz で取得できます。
FSU Pthreads は SCO Unix 4.2 の tcpip、あるいは SCO
開発システムをインストールし GCC 2.5.x
のグッド ポートを使用した OpenServer 3.0 または
Open Desktop 3.0 (OS 3.0 ODT 3.0)
使用してコンパイルできます。ODT あるいは OS
3.0 には、GCC 2.5.x のグッド
ポートが必要です。グッド
ポートがなければ多くの問題が発生します。この製品のポートには
SCO Unix
開発システムが必要です。それがなければ、ライブラリおよび必要なリンカがみつかりません。また
SCO-3.2v4.2-includes.tar.gz
も必要です。このファイルは MySQL
のビルドに必要な SCO 開発 include files
への変更を含んでいます。既存のシステム
include files
をこれらの変更ヘッダーファイルで置き換える必要があります。それらは
ftp://ftp.zenez.com/pub/zenez/prgms/SCO-3.2v4.2-includes.tar.gz
から入手できます。
お客様のシステム上で FSU Pthreads
にビルドに必要なことは、GNU
make
を実行することだけです。FSU-threads-3.14.tar.gz
のMakefile
を設定して FSU-threads
を作成します。
./configure を
threads/src
ディレクトリで実行して SCO OpenServer
オプションを選択できます。このコマンドは
Makefile.SCO5
を
Makefile
にコピーします。次に
make を実行します。
デフォルトの /usr/include
ディレクトリにインストールするには、root
として、次に cd
から
thread/src
ディレクトリにログインして make
install を実行します。
MySQL をビルドするには GNU make を使用することを忘れないでください。
注:mysqld_safe
を root
として実行しなかった場合、デフォルトでプロセスごとに
110 オープン
ファイルしか取得できません。mysqld
はこのことをログ ファイルに記録します。
SCO 3.2V4.2 には、FSU Pthreads バージョン 3.14 あるいはそれ以降を使用します。以下の configure コマンドが作用します。
CFLAGS="-D_XOPEN_XPG4" CXX=gcc CXXFLAGS="-D_XOPEN_XPG4" \ ./configure \ --prefix=/usr/local/mysql \ --with-named-thread-libs="-lgthreads -lsocket -lgen -lgthreads" \ --with-named-curses-libs="-lcurses"
include files の中には問題が発生するものもあります。この場合、新しい SCO 専用の include files を ftp://ftp.zenez.com/pub/zenez/prgms/SCO-3.2v4.2-includes.tar.gz から入手できます。
このファイルを MySQL ソース ツリーの
include
ディレクトリで解凍します。
SCO の開発ノート:
MySQL は自動的に FSU Pthreads を検知して
mysqld を -lgthreads -lsocket
-lgthreads
にリンクします。
SCO 開発ライブラリは FSU Pthreads に再度追加されたものです。SCO によれば、そのライブラリ関数は新たに追加されたもので、FSU Pthreads に追加する必要があるとのことです。OpenServer の FSU Pthreads は SCO スキーマを使用して再追加のライブラリを作成します。
FSU Pthreads (少なくとも
ftp://ftp.zenez.com の「バージョン)
には GNU malloc
が付いています。.メモリの使用で問題がある場合には、gmalloc.o
が libgthreads.a
および
libgthreads.so
に含まれていることを確認します。
FSU Pthreads では、次のシステム コールは
pthreads-アウェア (認識)
です。read()
,
write()
、getmsg()
、connect()
、accept(),
select()
、および
wait()
。
CSSA-2001-SCO.35.2 (そのパッチはカスタムで erg711905-dscr_remap セキュリティ パッチ (バージョン 2.0.0 としてリストされています)) は FSU threads を壊して mysqld を不安定にします。mysqld を OpenServer 5.0.6 マシンで動作させる場合にはこれを削除する必要があります。
SCO OpenServer 5 を使用する場合、FSU pthreads を
CFLAGS
の -DDRAFT7
で再コンパイルする必要があります。.さもないと、InnoDB
は mysqld
の起動時にハングする場合があります。
SCO は OpenServer 5.0.x 用のオペレーティング システムのパッチを ftp://ftp.sco.com/pub/openserver5 で提供しています。
SCO は OpenServer 5.0.x
用のセキュリティの修正版および
libsocket.so.2
を
ftp://ftp.sco.com/pub/security/OpenServer
および
ftp://ftp.sco.com/pub/security/sse
で提供しています。
Pre-OSR506
のセキュリティ修正版また、telnetd
の修正版は
ftp://stage.caldera.com/pub/security/openserver/
あるいは
ftp://stage.caldera.com/pub/security/openserver/CSSA-2001-SCO.10/
その両方 libsocket.so.2
および
libresolv.so.1
にはその
pre-OSR506
システムのインストールの説明書が付いています。
MySQL をコンパイル/使用する前にこれらのパッチをインストールするようお勧めします。
Legend/OpenServer 6.0.0 以降には、ネイティブ スレッドがあり、2GB ファイル サイズの制限はありません。