現在のポートは
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 では、ftp://ftp.sco.com/pub/security/OpenServer で、OpenServer 5.0.x 用のセキュリティー修正に関する情報を提供しています。
OpenServer 5.0.x システムの最大ファイルサイズは 2G バイトです。
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
にします。
カーネルに変更を加えるには、idtune
名前のパラメータ
コマンドを使用します。idtune
は、/etc/conf/cf.d/stune
ファイルを変更してくれます。たとえば、SEMMS
を 200
に変更するには、このコマンドを
root
として実行します。
# /etc/conf/bin/idtune SEMMNS 200
次に以下のコマンドを発行して kernel を再度ビルドしてリブートします。
# /etc/conf/bin/idbuild -B && init 6
システムを調整する場合、使用する適切なパラメータ値は、アプリケーションまたはデータベースにアクセスするユーザーの数およびデータベースのサイズ (つまり、使用中のバッファープール) によって決まります。次のカーネルパラメータは、idtune で設定できます。
SHMMAX
(推奨設定値: 128M バイト) および
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 固有のインクルードファイルが ftp://ftp.zenez.com/pub/zenez/prgms/SCO-3.2v4.2-includes.tar.gz にあります。
このファイルを MySQL ソースツリーの
include
ディレクトリで解凍します。SCO の開発ノート:
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
では、read()
、write()
、getmsg()
、connect()
、accept()
、select()
、および
wait()
の各システムコールは pthreads
に対応しています。
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 では、ftp://ftp.sco.com/pub/openserver5 で、OpenServer 5.0.x 用のオペレーティングシステムのパッチを提供しています。
SCO
では、ftp://ftp.sco.com/pub/security/OpenServer
および
ftp://ftp.sco.com/pub/security/sse
で、OpenServer 5.0.x
用のセキュリティー修正および
libsocket.so.2
を提供しています。
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
の両方として、OSR506
より前のシステムにインストールする手順とともに提供されています。
MySQL をコンパイル/使用する前にこれらのパッチをインストールするようお勧めします。
Legend/OpenServer 6.0.0 以降には、ネイティブスレッドがあり、2GB ファイルサイズの制限はありません。