WEB开发网
开发学院数据库MySQL 在FreeBSD下安装mysql5的注意点 阅读

在FreeBSD下安装mysql5的注意点

 2007-11-11 14:44:00 来源:WEB开发网   
核心提示:FreeBSD 4.x or newer is recommended for running MySQL(和PHP搭配之最佳组合), because the thread package is much more integrated. To get a secure and stable system, you s

FreeBSD 4.x or newer is recommended for running MySQL(和PHP搭配之最佳组合), 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(和PHP搭配之最佳组合) is to use the MySQL(和PHP搭配之最佳组合)-server and MySQL(和PHP搭配之最佳组合)-client ports available at http://www.freebsd.org/. Using these ports gives you the following benefits:

  • A working MySQL(和PHP搭配之最佳组合) 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 -L to see which files are installed.

  • The ability to use pkg_delete to remove MySQL(和PHP搭配之最佳组合) 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 MySQL(和PHP搭配之最佳组合)d.

Unfortunately, certain function calls on FreeBSD are not yet fully thread-safe. Most notably, this includes the gethostbyname() function, which is used by MySQL(和PHP搭配之最佳组合) to convert hostnames into IP addresses. Under certain circumstances, the MySQL(和PHP搭配之最佳组合)d process suddenly causes 100% CPU load and is unresponsive. If you encounter this problem, try to start MySQL(和PHP搭配之最佳组合) using the --skip-name-resolve option.

Alternatively, you can link MySQL(和PHP搭配之最佳组合) 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(和PHP搭配之最佳组合) Server? at http://jeremy.zawodny.com/blog/archives/000697.html.

Known problem when using LinuxThreads on FreeBSD is:

  • The connection times (wait_timeout, interactive_timeout and net_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 command

    This 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(和PHP搭配之最佳组合) build process requires GNU make (gmake) to work. If GNU make is not available, you must install it first before compiling MySQL(和PHP搭配之最佳组合).

The recommended way to compile and install MySQL(和PHP搭配之最佳组合) 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(和PHP搭配之最佳组合) --enable-assemblergmakegmake installcd /usr/local/MySQL(和PHP搭配之最佳组合)bin/MySQL(和PHP搭配之最佳组合)_install_db --user=MySQL(和PHP搭配之最佳组合)bin/MySQL(和PHP搭配之最佳组合)d_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, remove config.cache, then re-run configure with the --with-mit-threads option.

Be sure that your name resolver setup is correct. Otherwise, you may experience resolver delays or failures when connecting to MySQL(和PHP搭配之最佳组合)d. Also make sure that the localhost entry in the /etc/hosts file is correct. The file should start with a line similar to this:

127.0.0.1       localhost localhost.your.domain

FreeBSD is known to have a very low default file handle limit. Start the server by using the --open-files-limit option for MySQL(和PHP搭配之最佳组合)d_safe, or raise the limits for the MySQL(和PHP搭配之最佳组合)d user in /etc/login.conf and rebuild it with cap_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 (use chpass MySQL(和PHP搭配之最佳组合)d-user-name).

If you have a lot of memory, you should consider rebuilding the kernel to allow MySQL(和PHP搭配之最佳组合) to use more than 512MB of RAM. Take a look at option MAXDSIZ in the LINT config file for more information.

If you get problems with the current date in MySQL(和PHP搭配之最佳组合), setting the TZ variable should help.

Tags:FreeBSD mysql

编辑录入:coldstar [复制链接] [打 印]
赞助商链接