top
Loading...
2.8.5.MIT-pthreads注意事項
2.8.5. MIT-pthreads注意事項

這節描述使用MIT-pthreads時所涉及的一些問題。

Linux上,應該不使用MIT-pthreads而是安裝LinuxThreads!參見2.12.1節,“Linux注意事項”。

如果你的系統不提供原生的線程支持,將需要使用MIT-pthreads包構造MySQL。這包括大多數FreeBSD系統、SunOS 4.xSolaris 2.4和更早版本及其它,參見2.1.1節,“MySQL支持的操作系統”。

MIT-pthreads不是MySQL 5.1源碼分發版的一部分。如果你需要該安裝包,需要單獨從http://www.mysql.com/Downloads/Contrib/pthreads-1_60_beta6-mysql.tar.gz下載。

下載后,將源文件提取到MySQL源碼目錄的頂級目錄。將創建新的mit-pthreads子目錄。

  • 在大多數系統上,你能通過使用configure并用--with-mit-threads選項來強迫運行MIT-pthreads
  • shell> ./configure -- with-mit-threads

當使用MIT-pthreads時,不支持在一個非源碼目錄構造,因為我們想要使我們對代碼的改變減到最小。

·         決定是否使用MIT-pthreads的檢查僅在處理服務器代碼的配置過程期間發生。如果已經用--without-server配置了分發版并只構造客戶端代碼,客戶端將不知道MIT-pthreads是否正在被使用并且是否使用 默認的Unix套接字連接。因為在某些平臺上Unix套接字文件不能在MIT-pthreads下面工作,這意味著當你運行客戶端程序時,你需要使用-h--host

·         當使用MIT-pthreads編譯MySQL時,因為性能原因,系統鎖定 默認為禁止使用。你可以用--external-locking選項告訴服務器使用系統鎖定。只是在相同數據文件上運行兩個MySQL服務器時采需要,因此不推薦。

  • 有時pthreadbind()命令不能綁定一個套接字但沒有任何錯誤消息(至少在Solaris),結果是所有到服務器的連接均失敗。例如:
  • shell> mysqladmin version
  • mysqladmin: connect to server at '' failed;
  • error: 'Can't connect to mysql server on localhost (146)'

解決它的方法是殺死mysqld服務器并且重啟它。這只有當我們強迫服務器停止并馬上進行重啟時在發生。

  • 使用MIT-pthreads,不能用SIGINTbreak)中斷sleep()系統調用。這只有在運行mysqladmin --sleep時才能注意到。在中斷起作用并且進程停止之前必須等待sleep()終止。
  • 當鏈接時,你可能會收到這樣的警告消息(至少在Solaris);它們可以被忽視:
  • ld: warning: symbol `_iob' has differing sizes:
  •     (file /my/local/pthreads/lib/libpthread.a(findfp.o) value=0x4;
  • file /usr/lib/libc.so value=0x140);
  •     /my/local/pthreads/lib/libpthread.a(findfp.o) definition taken
  • ld: warning: symbol `__iob' has differing sizes:
  •     (file /my/local/pthreads/lib/libpthread.a(findfp.o) value=0x4;
  • file /usr/lib/libc.so value=0x140);
  •     /my/local/pthreads/lib/libpthread.a(findfp.o) definition taken

 

  • 一些其它的警告也可被忽略:
  • implicit declaration of function `int strtoll(...)'
  • implicit declaration of function `int strtoul(...)'
  • 我們還沒有讓readlineMIT-pthreads上工作。(這不需要,但是可能某些人會感興趣。)
作者:mysql.com
來源:http://dev.mysql.com/doc/refman/5.1/zh/installing.html
北斗有巢氏 有巢氏北斗