El port actual se probó solamente en sistemas sco3.2V5.0.5, sco3.2v5.0.6, y sco3.2v5.0.7. También está en desarrollo un port para sco3.2v4.2. Open Server 5.0.8 (Legend) tiene soporte nativo para subprocesos y permite ficheros de más de 2GB. Actualmente el máximo tamaño de fichero permitido es 2GB.
En MySQL AB se pudo compilar MySQL con el siguiente comando de configure en OpenServer con 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 puede descargarse de ftp://ftp.sco.com/pub/openserver5/opensrc/gnutools-5.0.7Kj.
          Este sistema de desarrollo requiere el Suplemento del Entorno
          de Ejecución de OpenServer (OpenServer Execution Environment
          Supplement) oss646B en OpenServer 5.0.6 y oss656B y las
          bibliotecas OpenSource halladas en gwxlibs. Todas las
          herramientas OpenSource están en el directorio
          opensrc, en
          ftp://ftp.sco.com/pub/openserver5/opensrc/.
        
MySQL AB recomienda utilizar el último release en producción de MySQL.
SCO proporciona parches del sistema operativo en ftp://ftp.sco.com/pub/openserver5 para OpenServer 5.0.[0-6] y ftp://ftp.sco.com/pub/openserverv5/507 para OpenServer 5.0.7.
SCO proporciona información sobre problemas de seguridad solucionados en ftp://ftp.sco.com/pub/security/OpenServer para OpenServer 5.0.x.
El máximo tamaño de fichero en un sistema OpenServer 5.0.x es 2GB.
La memoria total que puede direccionarse para buffers de streams, clists, y bloqueo de registros, no puede exceder de 60MB en OpenServer 5.0.x.
Los buffers de streams son direccionados en páginas de 4096 bytes, los clists en páginas de 70 bytes, y los bloqueos de registros en páginas de 64 bytes, de modo que:
(NSTRPAGES * 4096) + (NCLIST * 70) + (MAX_FLCKREC * 64) <= 62914560
Seguir este procedimiento para configurar la opción Servicios de Base de Datos (Database Services). Si no se está seguro si una aplicación requiere esto, ver la documentación de la aplicación.
              Iniciar sesión como root.
            
              Habilitar el driver SUDS mediante la edición del fichero
              /etc/conf/sdevice.d/suds. Cambiar la
              N del segundo párrafo por una
              Y.
            
              Utilizar mkdev aio o el Gestor de
              Hardware/Kernel (Hardware/Kernel Manager) para habilitar
              el soporte de entrada/salida asincrónica, y enlazar
              nuevamente el kernel. Para permitir a los usuarios
              reservar memoria para usar con este tipo de E/S,
              actualizar el fichero aiomemlock(F). Este fichero debería
              actualizarse para que incluya los nombre de los usuarios
              que pueden utilizar ESA (Entrada Salida Asincrónica, o
              AIO, Asynchronoys I/O) y las máximas cantidades de
              memoria que pueden reservar.
            
Muchas aplicaciones usan binarios setuid de forma que solamente se necesita especificar un único usuario. Ver la documentación provista con la aplicación para ver si este es su caso.
Después de completar este proceso, reiniciar el sistema para crear un nuevo kernel que incorpore estos cambios.
          Por defecto, las entradas en
          /etc/conf/cf.d/mtune están configuradas
          así:
        
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
Se recomienda establecer estos valores de la siguiente manera:
          NOFILES debería ser 4096 o 2048.
        
          MAXUP debería ser 2048.
        
          Para hacer cambios al kernel, posicionarse con
          cd en el directorio
          /etc/conf/bin y utilizar
          ./idtune nombre
          parámetro para realizar los cambios. Por
          ejemplo, para cambiar SEMMS a un valor de
          200, ejecutar estos comandos como usuario
          root:
        
# cd /etc/conf/bin # ./idtune SEMMNS 200
          Se recomienda optimizar el sistema, pero los valores a
          utilizar dependerán del número de usuarios que acceden a la
          aplicación o base de datos y el tamaño de la base de datos
          (esto es, el pool de buffer utilizado). Lo siguiente modifica
          los parámetros de kernel definidos en
          /etc/conf/cf.d/stune:
        
          SHMMAX (valor recomendado: 128MB) and
          SHMSEG (valor recomendado: 15). Estos
          parámetros inciden en el motor de base de datos MySQL para la
          creación de pools de buffers de usuario).
        
          NOFILES y MAXUP
          deberían establecerse en por lo menos 2048.
        
          MAXPROC debería establecerse al menos en
          3000/4000 (dependiendo del número de usuarios) o más.
        
          También se recomienda el empleo de la siguiente fórmula para
          calcular el valor para SEMMSL,
          SEMMNS y SEMMNU:
        
SEMMSL = 13
El 13 es lo que se halló como el mejor valor para Progress y MySQL.
          SEMMNS = SEMMSL *
          cantidad de servidores de bases de datos a ejecutarse en el
          sistema.
        
          Establecer SEMMNS al valor de
          SEMMSL multiplicado por la cantidad de
          servidores de bases de datos (máximo) que se ejecutan en el
          sistema al mismo tiempo.
        
SEMMNU = SEMMNS
          Establecer el valor de SEMMNU al mismo
          valor que tiene SEMMNS. Posiblemente se
          pueda establecer a un 75% del valor de
          SEMMNS, pero esta es una estimación
          conservadora.
        
Se necesitará instalar al menos las "Bibliotecas de Desarrollo de Aplicaciones y Enlazador OpenServer de SCO" ("SCO OpenServer Linker and Application Development Libraries") o el Sistema de Desarrollo de OpenServer (OpenServer Development System) para ejecutar gcc. No se puede simplemente emplear el sistema de desarrollo GCC sin instalar alguno de los mencionados.
Antes se deberá obtener el paquete FSU Pthreads e instalarlo. Puede descargarse de http://moss.csc.ncsu.edu/~mueller/ftp/pub/PART/pthreads.tar.gz. También puede descargarse un paquete precompilado en ftp://ftp.zenez.com/pub/zenez/prgms/FSU-threads-3.14.tar.gz.
          FSU Pthreads puede compilarse con SCO Unix 4.2 con tcpip, o
          utilizando OpenServer 3.0 u OpenDesktop 3.0 (OS 3.0 ODT 3.0)
          con el SCO Development System instalado utilizando un buen
          port de GCC 2.5.x. Hay muchos problemas que ocurren sin un
          buen port. El port para este producto necesita el SCO Unix
          Development System. Sin él, no se tendrán las bibliotecas y
          el enlazador que se necesitan. También se requiere el fichero
          SCO-3.2v4.2-includes.tar.gz. Este fichero
          contiene los cambios a los ficheros de inclusión de SCO
          Development que se necesitan para lograr compilar MySQL.
          Habrá que reemplazar los ficheros de inclusión existentes en
          el sistema con estos ficheros de cabecera modificados. Pueden
          descargarse de
          ftp://ftp.zenez.com/pub/zenez/prgms/SCO-3.2v4.2-includes.tar.gz.
        
          Todo lo que se debería necesitar para compilar FSU Pthreads
          es ejecutar GNU make. El
          Makefile en FSU-threads-3.14.tar.gz está
          configurado para crear FSU-threads.
        
          Se puede ejecutar ./configure en el
          directorio threads/src y seleccionar la
          opción SCO OpenServer. Este comando copia
          Makefile.SCO5 a
          Makefile. Luego, se ejecuta
          make.
        
          Para instalar en el directorio predeterminado
          /usr/include, iniciar sesión como
          root, luego posicionarse con
          cd en el directorio
          thread/src y ejecutar make
          install.
        
Recordar que debe usarse GNU make para crear MySQL.
          Nota: Si no se inicia
          mysqld_safe como usuario
          root, se deberían obtener solamente por
          defecto los 110 ficheros abiertos por proceso.
          mysqld deja constancia de esto en el
          fichero de registro (log).
        
Con SCO 3.2V4.2, se debería usar FSU Pthreads versión 3.14 o posterior. El siguiente comando configure debería funcionar:
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"
Se pueden tener problemas con algunos ficheros de inclusión. En este caso, pueden hallarse nuevos ficheros de inclusión específicos para SCO en ftp://ftp.zenez.com/pub/zenez/prgms/SCO-3.2v4.2-includes.tar.gz.
          Se debería descompactar este fichero en el directorio
          include del árbol de código fuente de
          MySQL.
        
Notas relativas a SCO development:
              MySQL debería detectar automáticamente FSU Pthreads y
              enlazar mysqld con -lgthreads
              -lsocket -lgthreads.
            
Las bibliotecas de desarrollo SCO son reentrantes (compartidas por varios usuarios o procesos, una condición indispensable en la programación de multitarea) en FSU Pthreads. SCO afirma que sus bibliotecas de funciones son reentrantes, por lo tanto deben ser reentrantes con FSU Pthreads. FSU Pthreads en OpenServer intenta utilizar el esquema de SCO para hacer bibliotecas reentrantes.
              FSU Pthreads (al menos la versión en
              ftp::/ftp.zenez.com) viene enlazada con GNU
              malloc. Si ocurren problemas con el uso
              de memoria, asegurarse de que
              gmalloc.o está incluido en
              libgthreads.a y
              libgthreads.so.
            
              En FSU Pthreads, las siguientes llamadas de sistema son
              compatibles con pthreads: read(),
              write(), getmsg(),
              connect(), accept(),
              select(), y wait().
            
El parche CSSA-2001-SCO.35.2 (habitualmente listado como erg711905-dscr_remap security patch (version 2.0.0)) interrumpe los subprocesos FSU y deja inestable a mysqld. Hay que removerlo si se desea ejecutar mysqld en un ordenador con OpenServer 5.0.6.
SCO proporciona parches del sistema operativo OpenServer 5.0.x en ftp://ftp.sco.com/pub/openserver5.
              Las soluciones a problemas de seguridad y
              libsocket.so.2 para OpenServer 5.0.x
              están en
              ftp://ftp.sco.com/pub/security/OpenServer y
              ftp://ftp.sco.com/pub/security/sse.
            
              Soluciones de seguridad para Pre-OSR506. También, la
              solución para telnetd en
              ftp://stage.caldera.com/pub/security/openserver/
              o
              ftp://stage.caldera.com/pub/security/openserver/CSSA-2001-SCO.10/
              así como libsocket.so.2 y
              libresolv.so.1 con instrucciones para
              instalar en sistemas pre-OSR506.
            
Probablemente sea una buena idea instalar estos parches antes de compilar o utilizar MySQL.
A partir de Legend/OpenServer 6.0.0 se dispone de subprocesos nativos y se eliminó el límite de 2GB para el tamaño de los ficheros.
Ésta es una traducción del manual de referencia de MySQL, que puede encontrarse en dev.mysql.com. El manual de referencia original de MySQL está escrito en inglés, y esta traducción no necesariamente está tan actualizada como la versión original. Para cualquier sugerencia sobre la traducción y para señalar errores de cualquier tipo, no dude en dirigirse a mysql-es@vespito.com.

