Irix Version 6.5.3
以降を使用している場合、CAP_SCHED_MGT
特権を持つユーザ(root
など)として mysqld
を実行した場合か、以下のシェルコマンドを使用して
mysqld
サーバにこの特権を与えた場合にのみ、mysqld
はスレッドを作成することができます。
shell> chcap "CAP_SCHED_MGT+epi" /opt/mysql/libexec/mysqld
場合によって、configure
を実行した後、コンパイルする前に
config.h
でいくつかのシンボルを再定義する必要があります。
Irix
の一部のバージョンでは、alloca()
関数が壊れています。SELECT
ステートメントで mysqld
サーバが停止する場合は、config.h
から HAVE_ALLOC
と
HAVE_ALLOCA_H
を定義している行を削除してください。
mysqladmin create
が機能しない場合は、config.h
から HAVE_READDIR_R
を定義している行を削除します。場合によって、HAVE_TERM_H
行も削除する必要があります。
SGI では、以下のページにあるすべてのパッチをまとめてインストールすることを推奨しています。 http://support.sgi.com/surfzone/patches/patchset/6.2_indigo.rps.html
少なくとも、最新のカーネルロールアップ、最新の
rld
ロールアップ、および最新の
libc
ロールアップだけはインストールしてください。
pthread のサポートのために、以下のページにあるすべての POSIX パッチが必要です。
http://support.sgi.com/surfzone/patches/patchset/6.2_posix.rps.html
mysql.cc
をコンパイルしているときに、以下のようなエラーが発生することがあります。
"/usr/include/curses.h", line 82: error(1084): invalid combination of type
MySQL ソースツリーの最上位のディレクトリで、以下を入力します。
shell>extra/replace bool curses_bool < /usr/include/curses.h \
> include/curses.h
shell>make
スケジューリングに関する問題も報告されています。1 つのスレッドだけが稼動している場合、パフォーマンスが低くなります。別のクライアントを起動して、この問題を回避してください。これによって、もう 1 方のスレッドの実行速度が 2 〜 10 倍になることがあります。これは、Irix スレッドに関する不明点の多い問題です。この問題が修正できるまで間に合わせの解決法を見つけなくてはなりません。
gcc
を使用してコンパイルしている場合は、以下の
configure
コマンドを使用できます。
CC=gcc CXX=gcc CXXFLAGS=-O3 \ ./configure --prefix=/usr/local/mysql --enable-thread-safe-client \ --with-named-thread-libs=-lpthread
Irix 6.5.11 上でネイティブの Irix C コンパイラおよび C++ コンパイラのバージョン 7.3.1.2 を使用している場合、以下が有効であることが報告されています。
CC=cc CXX=CC CFLAGS='-O3 -n32 -TARG:platform=IP22 -I/usr/local/include \ -L/usr/local/lib' CXXFLAGS='-O3 -n32 -TARG:platform=IP22 \ -I/usr/local/include -L/usr/local/lib' ./configure \ --prefix=/usr/local/mysql --with-innodb --with-berkeley-db \ --with-libwrap=/usr/local \ --with-named-curses-libs=/usr/local/lib/libncurses.a
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.