linux 下mysql多線程支持問題

mysql官方提供的linux二進制編譯包都無法支持posix多線程環境。很多mysql 的API,都無法真正支持多線程環境。

一般解決此類問題,需要從新編譯mysql源碼生成適合項目的mysql安裝包。mysql源碼編譯都非常簡單,通過./configure --help可以查看編譯選項。多線程支持方面只要注意選擇--with-pthread和--enable-thread-safe-client選項就可以了。第一項可以指明使用posix線程(unix的編譯方式可能會有些不一樣,因爲unix的內核線程工作方式與linux線程工作方式有比較大的區別,尤其freebsd)。

編譯過程很簡單,首先./congiure --prefix =安裝路徑  --選項 .....還可以在此設置mysql默認的編碼規則,例如默認爲gb2312編碼

然後make,makeinstall。在安裝路徑下訪問/share/mysql/mysql.server start就可以啓動mysql,但在此之前必須設置mysql的用戶和/etc/my.cnf文件。

如果採用c/c++訪問mysql,則gcc 編譯默認選項需要引用-lmysqlclient_r包,而不是原先的-lmysqlclient。

總體來說mysql的c/c++的多線程支持方面還是很不錯的。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章