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++的多线程支持方面还是很不错的。
posted on 2007-01-10 17:48 reck for zhou 阅读(1391) 评论(0) 编辑 收藏 举报