成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

編譯MySQL時Linux thread not found問題與解決

數據庫 MySQL
本文主要介紹了再FC6系統中從源碼安裝MySQL數據庫時提示“MySql時Linux thread not found”時的解決方案,希望能對讀者有所幫助。

在FC6系統中從源碼安裝MySQL時遇到問題如下,提示Linux thread not found的錯誤,代碼如下:

  1. #./configure --prefix=/usr/local/mysql  
  2.  
  3. …  
  4.  
  5. …  
  6.  
  7. checking "LinuxThreads"... "Not found"  
  8.  
  9. configure: error: This is a linux system and Linuxthreads was not found. On linux Linuxthreads should be used.   
  10.  
  11. Please install Linuxthreads (or a new glibc) and try again.   
  12.  
  13. See the Installation chapter in the Reference Manual for more information. 

在網上隨便搜一下關鍵字“Linuxthreads was not found”可以找到很多相關的帖子,但大多都沒有提供完整解決方案。

下面來分析一下上面的出錯情況,并就此提供一個解決方案。從上面的出錯可以很明顯的看出是說系統缺少線程庫。沒有線程,Linux可以運行嗎?呵呵,那當然不行。既然沒有linuxthread那現在用的是什么呢?

答案是NPTL

作為去除過時的LinuxThreads 庫的一個步驟,在 Fedora Core 5 test1 中編譯和連接的代碼現在自動使用NPTL頭文件和庫。在過去的版本中,從 Red Hat Linux 9 開始,默認的線程模型是LnuxThreads,因為接口是最通用的。NPTL 接口的優點在于,線程取消的處理更快 (使用 -fexception 參數時,即使在 C 代碼中)。現在附加的接口也已可用,不需要特殊的編譯器和連接器參數。

下面言歸正轉,怎樣解決?

可以修改程序去支持NPTL,也可以在編譯時加上對原有thread庫的支持。我選擇了后者,這樣可以不動MySql的源代碼。在mysql手冊中搜關鍵字thread,可以查到在Chapter 2. Installing and Upgrading MySQL。

2.8.5. MIT-pthreads Notes

  1. If your system does not provide native thread support, you should build MySQL using the MIT-pthreads package.   
  2.  
  3. This includes older FreeBSD systems, SunOS 4.x, Solaris 2.4 and earlier, and some others. See Section 2.1.1, “Operating Systems Supported by MySQL”.  
  4.  
  5. Beginning with MySQL 4.0.2, MIT-pthreads is no longer part of the source distribution.   
  6.  
  7. If you require this package, you need to download it separately from http://www.mysql.com/Downloads/Contrib/pthreads-1_60_beta6-mysql.tar.gz  
  8.  
  9. After downloading, extract this source archive into the top level of the MySQL source directory.  
  10.  
  11.  It creates a new subdirectory named mit-pthreads. 

從上可以看出:只要下到mit-thread源碼就可以了。但不知道為什么官方網站上已經沒有下了的了(我又找了一個官網的鏡像還是沒有,郁悶ing)。再仔細看一下上面,只是將線程源碼放到MySql源碼目錄的根目錄下以mit-pthreads命名的目錄。官方沒有自己去下一個也是一樣的,只要解壓后放到上述位置就可了。

于是去下了一個pthread源碼包,解壓放到相應位置。

再執行:

  1. #./configure  --prefix=/usr/local/mysql --with-mit-threads 

 

就順利通過了。

附:NPTL與 LinuxThreads 相比的優點

NPTL 沒有使用管理線程。管理線程的一些需求,例如向作為進程一部分的所有線程發送終止信號,是并不需要的;因為內核本身就可以實現這些功能。內核還會處理每個線程堆棧所使用的內存的回收工作。它甚至還通過在清除父線程之前進行等待,從而實現對所有線程結束的管理,這樣可以避免僵尸進程的問題。由于 NPTL 沒有使用管理線程,因此其線程模型在 NUMA 和 SMP 系統上具有更好的可伸縮性和同步機制。

使用 NPTL 線程庫與新內核實現,就可以避免使用信號來對線程進行同步了。為了這個目的,NPTL 引入了一種名為 futex 的新機制。futex 在共享內存區域上進行工作,因此可以在進程之間進行共享,這樣就可以提供進程間 POSIX 同步機制。我們也可以在進程之間共享一個 futex。這種行為使得進程間同步成為可能。實際上,NPTL 包含了一個 PTHREAD_PROCESS_SHARED 宏,使得開發人員可以讓用戶級進程在不同進程的線程之間共享互斥鎖。

由于 NPTL 是 POSIX 兼容的,因此它對信號的處理是按照每進程的原則進行的;getpid() 會為所有的線程返回相同的進程 ID。例如,如果發送了 SIGSTOP 信號,那么整個進程都會停止;使用 LinuxThreads,只有接收到這個信號的線程才會停止。這樣可以在基于 NPTL 的應用程序上更好地利用調試器,例如 GDB。

由于在 NPTL 中所有線程都具有一個父進程,因此對父進程匯報的資源使用情況(例如 CPU 和內存百分比)都是對整個進程進行統計的,而不是對一個線程進行統計的。

NPTL 線程庫所引入的一個實現特性是對 ABI(應用程序二進制接口)的支持。這幫助實現了與 LinuxThreads 的向后兼容性。

【編輯推薦】

  1. php中批量刪除Mysql中相同前綴的數據表
  2. Percona Server與MySQL 5.5的性能比較
  3. 利用mysql的audit審計功能記錄用戶操作信息
  4. NaviCat通過Http方式連接服務器的MySQL數據庫
  5. 詳解Discuz_WIN7_Apache_MySQL_PHP平臺搭建
責任編輯:趙鵬 來源: ChinaUnix博客
相關推薦

2012-07-31 16:06:28

Linux內核編譯

2010-01-15 10:31:19

Linux編譯

2010-06-04 14:40:31

2009-07-10 17:16:39

MyEclipse不編

2024-09-18 15:50:59

Docker容器日志

2023-12-13 18:46:51

Docker容器進程

2022-10-24 07:57:47

DebianUbuntuLinux

2010-01-05 18:03:57

2011-08-30 15:09:13

2017-03-27 18:05:49

Linux內核編譯與開發

2017-12-04 10:56:47

MySQL問題分析解決對策

2009-09-04 10:55:34

2009-12-29 11:40:50

2010-03-10 10:24:16

Linux ssh后門

2010-06-02 10:42:39

Linux mysql

2024-10-07 11:20:16

2015-05-29 10:04:18

遠程桌面訪問HASP NOT Fo運維

2011-06-29 11:06:12

Qt Qvfb

2010-05-28 18:05:22

jsp MySQL

2011-03-15 13:30:27

IBatis.netMySQL
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久免费视频1 | 国产精品久久久久久久三级 | 亚洲欧美日韩精品久久亚洲区 | 天天影视亚洲综合网 | 日韩美女一区二区三区在线观看 | 国产乱码精品一区二区三区中文 | 欧美激情在线播放 | 日韩欧美国产精品一区二区三区 | 亚州精品天堂中文字幕 | 久久精品成人热国产成 | 国产aaaaav久久久一区二区 | 国产在线观 | 成人在线精品视频 | 丝袜一区二区三区 | 99re视频在线免费观看 | av中文在线| 中文字幕第十页 | 日韩资源| 欧美视频1区 | 成人小视频在线观看 | 亚洲伊人a | 精品久久久精品 | 午夜精品在线观看 | 国产精品一卡二卡三卡 | 亚洲国产精品久久久久婷婷老年 | 国产中的精品av涩差av | 男女在线免费观看 | 精品一区二区久久久久久久网精 | 超碰人人91 | 99精品国产成人一区二区 | 91久色 | 99久久婷婷国产综合精品电影 | 五月天国产 | 国内自拍真实伦在线观看 | 亚洲成人一二区 | 久久综合久色欧美综合狠狠 | 久草网址 | 亚洲欧美日韩电影 | 亚洲精品电影在线观看 | 国产九一精品 | 国产高潮av |