top
Loading...
2.12.5.8.SCOUNIX和OpenServer5.0.x版注意事項
2.12.5.8. SCO UNIX和OpenServer 5.0.x版注意事項

當前的移植僅在“sco3.2v5.0.5,sco3.2v5.0.6”和“sco3.2v5.0.7”系統上進行了測試,在“sco 3.2v4.2”上的移植也有很大進展。OpenServer 5.0.8(Legend)具有原生線程,允許文件大于2GB。目前最大的文件可以達到2GB

我們可以在OpenServer上用gcc 2.95.3用下面的configure命令編譯MySQL

CC=gcc CXX=gcc ./configure --prefix=/usr/local/mysql 
    --enable-thread-safe-client --with-innodb 
    --with-openssl --with-vio --with-extra-charsets=complex

ftp://ftp.sco.com/pub/openserver5/opensrc/gnutools-5.0.7Kj可以得到gcc

該開發系統需要在OpenServer 5.0.6OpenServer Execution Environment Supplement oss646Boss656BOpenSource庫位于 gwxlibs。所有OpenSource工具位于opensrc目錄。可以從ftp://ftp.sco.com/pub/openserver5/opensrc/獲得。

我們建議使用最新的MySQL產品發布。

SCO提供的操作系統補丁:OpenServer 5.0.[0-6]ftp://ftp.sco.com/pub/openserver5OpenServer 5.0.7ftp://ftp.sco.com/pub/openserverv5/507

SCO提供的關于安全修復的信息:Server 5.0.xftp://ftp.sco.com/pub/security/OpenServer

OpenSever 5.0.x系統上最大的文件的大小為2GB

OpenServer 5.0.x上,可供串緩沖區、clist和鎖定記錄分配的總內存不能超出60MB

串緩沖區的分配單位為4096 字節的頁,clists70字節,鎖定記錄為64字節,因此為:

(NSTRPAGES * 4096) + (NCLIST * 70) + (MAX_FLCKREC * 64) <= 62914560

按照以下步驟來配置Database Services選項。如果你不確定應用程序是否需要,參見隨應用程序提供的文檔。

1.    root登錄。

2.    編輯/etc/conf/sdevice.d/suds文件啟用SUDS驅動程序。將第2個域內的N更改為Y

3.    使用mkdev aioHardware/Kernel Manager來啟用對asynchronous I/O的支持,并重新連接內核。要想讓用戶鎖定內存用于該類I/O,更新aiomemlock(F)文件。應當對該文件進行更新,包括進可以使用AIO的用戶和可以鎖定的最大數量的內存。

4.    許多應用程序使用setuid二進制,因此你只能指定單個用戶 。請參見隨應用程序提供的文檔來看是否應用程序是這種情況。

完成該進程后,重新啟動系統,創建包括這些更改的新內核。

默認情況,/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應當為40962048

MAXUP應當為2048

要想更改內核,進入/etc/conf/bin并使用./idtune name parameter來更改。例如,要將SEMMS改為200,用root賬戶執行命令:

# cd /etc/conf/bin
# ./idtune SEMMNS 200

我們建議對該系統進行調節,但是使用的正確參數值取決于訪問應用程序或數據庫的用戶數目和數據庫空間(也就是使用的緩沖池)。下面的項影響/etc/conf/cf.d/stune中定義的內核參數:

SHMMAX(推薦設定值:128MB)SHMSEG(推薦設定值:15)。這些參數影響創建用戶緩沖池的MySQL數據庫引擎。

NOFILESMAXUP至少應達到2048

MAXPROC至少應當設置到3000/4000(取決于用戶數)或更大值。

建議使用下面的公式來計算SEMMSLSEMMNSSEMMNU的值:

SEMMSL = 13

發現13最適合進程和MySQL

SEMMNS = SEMMSL * 系統上運行的db服務器數目。

SEMMNS設置為SEMMSL值乘以你在該系統上一次運行的db服務器的(最大)數目。

SEMMNU = SEMMNS

SEMMNU值設置為等于SEMMNS值。可以將該值設置為75%SEMMNS,但是這是一個保守的估計。

至少需要安裝"SCO OpenServer Linker and Application Development Libraries"OpenServer開發系統來使用gcc。你不能只使用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能用帶tcpipSCO UNIX 4.2編譯,或使用OpenServer 3.0Open Desktop 3.0(OS 3.0 ODT 3.0),安裝帶有使用一個GCC 2.5.XSCO開發系統。對ODTOS 3.0,將需要一個GCC 2.5.x的良好移植。沒有一個良好的移植會有很多問題。對這個產品的移植需要SCO UNIX開發系統,沒有它,缺少所需的庫和鏈接器。還需要SCO-3.2v4.2-includes.tar.gz。該文件包含SCO 開發include 文件的更改這是構建MySQL所需要的。需要用這些修改的頭文件替換已有系統的include文件。可以從 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-線程。

thread/src目錄下運行./configure并且選擇SCO OpenServer選項。這個命令拷貝Makefile.SCO5”Makefile。然后運行make

為了在默認的“/usr/include目錄安裝,作為root登錄,然后cd 到“thread/src目錄,并運行make install

記得在制作MySQL時要使用GNU make

注釋:如果你不是作為root啟動safe_mysqld,將可能每進程只有 默認的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文件的某些問題。在這種情況下,你能在ftp://www.mysql.com/pub/mysql/Downloads/SCO/SCO-3.2v4.2-includes.tar.gz找到新的SCO特定的include文件。你應該在MySQL源碼樹的“include目錄下打開這個文件。

SCO開發注意事項:

  • MySQL應該自動地檢測FSU Pthreads并且用-lgthreads -lsocket -lgthreads選項鏈接mysqld
  • SCO開發庫在FSU Pthreads是重入(reentrant)的。SCO宣稱它的庫函數是重入的,因此他們一定在FSU Pthreads中是重入的。在 OpenServer上的 FSU Pthreads 試圖使用SCO方案制作重入的庫。
  • FSU Pthreads(至少在ftp::/ftp.zenez.com的版本)鏈接了GNU malloc,如果你遇到內存使用的問題,確定gmalloc.o包含在libgthreads.alibgthreads.so中。

·         FSU Pthreads中,下列系統調用是pthreads感知的:read()write()getmsg()connect()accept()select()wait()

·         CSSA-2001-SCO.35.2(補丁列為定制erg711905-dscr_remap安全補丁(版本 2.0.0))中斷FSU線程并使mysqld不穩定。如果你想在 OpenServer 5.0.6機器上運行mysqld必須刪除它。

·         如果你使用SCO OpenServer 5,可能需要用-DDRAFT7 in CFLAGS重新編譯FSU pthreads。否則,mysqld啟動時InnoDB會掛起。

·         SCOftp://ftp.sco.com/pub/openserver5提供了OpenServer 5.0.x的操作系統補丁。

·         SCOftp://ftp.sco.com/pub/security/sseftp://ftp.sco.com/pub/security/sse提供了OpenServer 5.0.x的安全修復和libsocket.so.2

·         Pre-OSR506安全修復。在ftp://stage.caldera.com/pub/security/openserver/ftp://stage.caldera.com/pub/security/openserver/CSSA-2001-SCO.10/提供了libsocket.so.2libresolv.so.1telnetd修復,以及在pre-OSR506系統上的安裝說明。

最好在編譯/使用MySQL之前安裝這些補丁。

Legend/ OpenServer 6.0.0有原生線程,沒有2GB文件大小限制。

作者:mysql.com
來源:http://dev.mysql.com/doc/refman/5.1/zh/installing.html
北斗有巢氏 有巢氏北斗