(mysql.info) sco
Info Catalog
(mysql.info) sgi-irix
(mysql.info) other-unix-notes
(mysql.info) sco-openserver
2.12.5.8 SCO UNIX and OpenServer 5.0.x Notes
............................................
The current port is tested only on sco3.2v5.0.5, sco3.2v5.0.6, and
sco3.2v5.0.7 systems. There has also been progress on a port to
sco3.2v4.2. Open Server 5.0.8 (Legend) has native threads and allows
files greater than 2GB. The current maximum file size is 2GB.
We have been able to compile MySQL with the following `configure'
command on OpenServer with `gcc' 2.95.3.
CC=gcc CXX=gcc ./configure --prefix=/usr/local/mysql \
--enable-thread-safe-client --with-innodb \
--with-openssl --with-vio --with-extra-charsets=complex
`gcc' is available at
`ftp://ftp.sco.com/pub/openserver5/opensrc/gnutools-5.0.7Kj'.
This development system requires the OpenServer Execution Environment
Supplement oss646B on OpenServer 5.0.6 and oss656B and The OpenSource
libraries found in gwxlibs. All OpenSource tools are in the `opensrc'
directory. They are available at
`ftp://ftp.sco.com/pub/openserver5/opensrc/'.
We recommend using the latest production release of MySQL.
SCO provides operating system patches at
`ftp://ftp.sco.com/pub/openserver5' for OpenServer 5.0.[0-6] and
`ftp://ftp.sco.com/pub/openserverv5/507' for OpenServer 5.0.7.
SCO provides information about security fixes at
`ftp://ftp.sco.com/pub/security/OpenServer' for OpenServer 5.0.x.
The maximum file size on an OpenSever 5.0.x system is 2GB.
The total memory which can be allocated for streams buffers, clists,
and lock records cannot exceed 60MB on OpenServer 5.0.x.
Streams buffers are allocated in units of 4096 byte pages, clists are
70 bytes each, and lock records are 64 bytes each, so:
(NSTRPAGES * 4096) + (NCLIST * 70) + (MAX_FLCKREC * 64) <= 62914560
Follow this procedure to configure the Database Services option. If you
are unsure whether an application requires this, see the documentation
provided with the application.
1. Log in as `root'.
2. Enable the SUDS driver by editing the `/etc/conf/sdevice.d/suds'
file. Change the `N' in the second field to a `Y'.
3. Use `mkdev aio' or the Hardware/Kernel Manager to enable support
for asynchronous I/O and relink the kernel. To allow users to lock
down memory for use with this type of I/O, update the
aiomemlock(F) file. This file should be updated to include the
names of users that can use AIO and the maximum amounts of memory
they can lock down.
4. Many applications use setuid binaries so that you need to specify
only a single user. See the documentation provided with the
application to determine whether this is the case for your
application.
After you complete this process, reboot the system to create a new
kernel incorporating these changes.
By default, the entries in `/etc/conf/cf.d/mtune' are set as follows:
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
We recommend setting these values as follows:
`NOFILES' should be 4096 or 2048.
`MAXUP' should be 2048.
To make changes to the kernel, `cd' to `/etc/conf/bin' and use
`./idtune' NAME PARAMETER to make the changes. For example, to change
`SEMMS' to `200', execute these commands as `root':
# cd /etc/conf/bin
# ./idtune SEMMNS 200
We recommend tuning the system, but the proper parameter values to use
depend on the number of users accessing the application or database and
size the of the database (that is, the used buffer pool). The following
affects the kernel parameters defined in `/etc/conf/cf.d/stune':
`SHMMAX' (recommended setting: 128MB) and `SHMSEG' (recommended
setting: 15). These parameters have influence on the MySQL database
engine to create user buffer pools.
`NOFILES' and `MAXUP' should be at to at least 2048.
`MAXPROC' should be set to at least 3000/4000 (depends on number of
users) or more.
Also is recommended to use following formula to count value for
`SEMMSL', `SEMMNS' and `SEMMNU':
SEMMSL = 13
The 13 is what has been found to be the best for both Progress and
MySQL.
`SEMMNS' = `SEMMSL' * number of db servers to be run on the system.
Set `SEMMNS' to the value of `SEMMSL' multiplied by the number of db
servers (maximum) that you are running on the system at one time.
SEMMNU = SEMMNS
Set the value of `SEMMNU' to equal the value of `SEMMNS'. You could
probably set this to 75% of `SEMMNS', but this is a conservative
estimate.
You need to at least install the "SCO OpenServer Linker and Application
Development Libraries" or the OpenServer Development System to use
`gcc'. You cannot just use the GCC Dev system without installing one of
these.
You should get the FSU Pthreads package and install it first. This can
be found at
`http://moss.csc.ncsu.edu/~mueller/ftp/pub/PART/pthreads.tar.gz'. You
can also get a precompiled package from
`ftp://ftp.zenez.com/pub/zenez/prgms/FSU-threads-3.14.tar.gz'.
FSU Pthreads can be compiled with SCO Unix 4.2 with tcpip, or using
OpenServer 3.0 or Open Desktop 3.0 (OS 3.0 ODT 3.0) with the SCO
Development System installed using a good port of GCC 2.5.x. For ODT or
OS 3.0, you need a good port of GCC 2.5.x. There are a lot of problems
without a good port. The port for this product requires the SCO Unix
Development system. Without it, you are missing the libraries and the
linker that is needed. You also need `SCO-3.2v4.2-includes.tar.gz'.
This file contains the changes to the SCO Development include files that
are needed to get MySQL to build. You need to replace the existing
system include files with these modified header files. They can be
obtained from
`ftp://ftp.zenez.com/pub/zenez/prgms/SCO-3.2v4.2-includes.tar.gz'.
To build FSU Pthreads on your system, all you should need to do is run
GNU `make'. The `Makefile' in FSU-threads-3.14.tar.gz is set up to make
FSU-threads.
You can run `./configure' in the `threads/src' directory and select the
SCO OpenServer option. This command copies `Makefile.SCO5' to
`Makefile'. Then run `make'.
To install in the default `/usr/include' directory, log in as `root',
and then `cd' to the `thread/src' directory and run `make install'.
Remember that you must use GNU `make' to build MySQL.
* If you don't start `mysqld_safe' as `root', you should get only
the default 110 open files per process. `mysqld' writes a note about
this in the log file.
With SCO 3.2V4.2, you should use FSU Pthreads version 3.14 or newer.
The following `configure' command should work:
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"
You may have problems with some include files. In this case, you can
find new SCO-specific include files at
`ftp://ftp.zenez.com/pub/zenez/prgms/SCO-3.2v4.2-includes.tar.gz'.
You should unpack this file in the `include' directory of your MySQL
source tree.
SCO development notes:
* MySQL should automatically detect FSU Pthreads and link `mysqld'
with -lgthreads -lsocket -lgthreads.
* The SCO development libraries are re-entrant in FSU Pthreads. SCO
claims that its library functions are re-entrant, so they must be
re-entrant with FSU Pthreads. FSU Pthreads on OpenServer tries to
use the SCO scheme to make re-entrant libraries.
* FSU Pthreads (at least the version at `ftp::/ftp.zenez.com') comes
linked with GNU `malloc'. If you encounter problems with memory
usage, make sure that `gmalloc.o' is included in `libgthreads.a'
and `libgthreads.so'.
* In FSU Pthreads, the following system calls are pthreads-aware:
`read()', `write()', `getmsg()', `connect()', `accept(),'
`select()', and `wait()'.
* The CSSA-2001-SCO.35.2 (the patch is listed in custom as
erg711905-dscr_remap security patch (version 2.0.0)) breaks FSU
threads and makes `mysqld' unstable. You have to remove this one
if you want to run `mysqld' on an OpenServer 5.0.6 machine.
* If you use SCO OpenServer 5, you may need to recompile FSU
pthreads with `-DDRAFT7' in `CFLAGS'. Otherwise, `InnoDB' may hang
at a `mysqld' startup.
* SCO provides operating system patches at
`ftp://ftp.sco.com/pub/openserver5' for OpenServer 5.0.x.
* SCO provides security fixes and `libsocket.so.2' at
`ftp://ftp.sco.com/pub/security/OpenServer' and
`ftp://ftp.sco.com/pub/security/sse' for OpenServer 5.0.x.
* Pre-OSR506 security fixes. Also, the `telnetd' fix at
`ftp://stage.caldera.com/pub/security/openserver/' or
`ftp://stage.caldera.com/pub/security/openserver/CSSA-2001-SCO.10/'
as both `libsocket.so.2' and `libresolv.so.1' with instructions for
installing on pre-OSR506 systems.
It's probably a good idea to install these patches before trying
to compile/use MySQL.
Beginning with Legend/OpenServer 6.0.0, there are native threads and no
2GB file size limit.
Info Catalog
(mysql.info) sgi-irix
(mysql.info) other-unix-notes
(mysql.info) sco-openserver
automatically generated byinfo2html