FreeBSD 4.x or newer is recommended for running MySQL, because the thread package is much more integrated. To get a secure and stable system, you should use only FreeBSD kernels that are marked -RELEASE.
The easiest (and preferred) way to install MySQL is to use the mysql-server and mysql-client ports available at http://www.freebsd.org/. Using these ports gives you the following benefits:
A working MySQL with all optimizations enabled that are known to work on your version of FreeBSD.
Automatic configuration and build.
Startup scripts installed in
/usr/local/etc/rc.d.The ability to use
pkg_info -Lto see which files are installed.The ability to use
pkg_deleteto remove MySQL if you no longer want it on your machine.
It is recommended you use MIT-pthreads on FreeBSD 2.x, and native threads on Versions 3 and up. It is possible to run with native threads on some late 2.2.x versions, but you may encounter problems shutting down mysqld.
Unfortunately, certain function calls on FreeBSD are not yet fully thread-safe. Most notably, this includes the gethostbyname() function, which is used by MySQL to convert hostnames into IP addresses. Under certain circumstances, the mysqld process suddenly causes 100% CPU load and is unresponsive. If you encounter this problem, try to start MySQL using the --skip-name-resolve option.
Alternatively, you can link MySQL on FreeBSD 4.x against the LinuxThreads library, which avoids a few of the problems that the native FreeBSD thread implementation has. For a very good comparison of LinuxThreads versus native threads, see Jeremy Zawodny's article FreeBSD or Linux for your MySQL Server? at http://jeremy.zawodny.com/blog/archives/000697.html.
Known problem when using LinuxThreads on FreeBSD is:
The connection times (
wait_timeout,interactive_timeoutandnet_read_timeout) values are not honored. The symptom is that persistent connections can hang for a very long time without getting closed down and that a 'kill' for a thread will not take affect until the thread does it a new commandThis is probably a signal handling problem in the thread library where the signal doesn't break a pending read. This is supposed to be fixed in FreeBSD 5.0
The MySQL build process requires GNU make (gmake) to work. If GNU make is not available, you must install it first before compiling MySQL.
The recommended way to compile and install MySQL on FreeBSD with gcc (2.95.2 and up) is:
CC=gcc CFLAGS="-O2 -fno-strength-reduce" / CXX=gcc CXXFLAGS="-O2 -fno-rtti -fno-exceptions / -felide-constructors -fno-strength-reduce" / ./configure --prefix=/usr/local/mysql --enable-assemblergmakegmake installcd /usr/local/mysqlbin/mysql_install_db --user=mysqlbin/mysqld_safe &If you notice that configure uses MIT-pthreads, you should read the MIT-pthreads notes.
If you get an error from make install that it can't find
/usr/include/pthreads, configure didn't detect that you need MIT-pthreads. To fix this problem, removeconfig.cache, then re-run configure with the--with-mit-threadsoption.Be sure that your name resolver setup is correct. Otherwise, you may experience resolver delays or failures when connecting to mysqld. Also make sure that the
localhostentry in the/etc/hostsfile is correct. The file should start with a line similar to this:127.0.0.1 localhost localhost.your.domainFreeBSD is known to have a very low default file handle limit. Start the server by using the
--open-files-limitoption for mysqld_safe, or raise the limits for the mysqld user in/etc/login.confand rebuild it withcap_mkdb /etc/login.conf. Also be sure that you set the appropriate class for this user in the password file if you are not using the default (usechpass mysqld-user-name).If you have a lot of memory, you should consider rebuilding the kernel to allow MySQL to use more than 512MB of RAM. Take a look at
option MAXDSIZin the LINT config file for more information.If you get problems with the current date in MySQL, setting the
TZvariable should help.
- 推荐阅讯
- FreeBSD启动扇区代码分析(ver5.2.1)
- 使用FreeBSD的原因
- 在FreeBSD下安装mysql5的注意点
- AIX:一个老牌Unix系统的荣耀和叹息
- FREEBSD升级及优化全攻略(1)
- sysintall下选择FreeBSD的安装源
- 二十年来 UNIX 的发展史
- FreeBSD的磁盘和BIOS的关系
- 安装FreeBSD的工具sysinstall介绍(二)
- FreeBSD服务器的安装与优化(1)
- 阅读排行
- 1.FreeBSD在安装ports时缩短下载时间
- 2.FreeBSD下gd库的安装方法
- 3.FreeBSD服务器的安装与优化(1)
- 4.UNIX 的二十年发展史
- 5.FreeBSD下的系统性能调优
- 6.FREEBSD升级及优化全攻略(1)
- 7.FreeBSD下安装GNOME桌面
- 8.在FreeBSD下安装mysql5的注意点
- 9.配置Intel® i810显示芯片组在FreeBSD下
- 10.FreeBSD5.3下安装Apache+PHP+MySQL+Tomcat
- 专题教程
- Windows Server-Windows Server文档-Windows Server新闻-Windows Ser PostgreSQL-PostgreSQL文档-PostgreSQL新闻-PostgreSQL专家
- WebLogic-WebLogic文档-WebLogic新闻-WebLogic专家 FreeBSD-FreeBSD文档-FreeBSD新闻-FreeBSD专家
- Linux-内核 GUI KDE Gnome DNS FTP 安全 安装-Linux专区 Windows-AD IIS ServerCore 虚拟化 安全 HPC-Windows专区
- 大话G游 专题:手机病毒揭密
- ARP攻击防范与解决方案 路由故障处理手册
