Notes for installing mysql5 under FreeBSD

Source: Internet
Author: User

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 shoshould use only FreeBSD kernels that are marked-RELEASE.

The easiest (and preferred) way to install MySQL is to useMysql-serverAndmysql-clientPorts 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 usepkg_info -LTo see which files are installed.

  • The ability to usepkg_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 downMysqld.

Unfortunately, certain function cballs on FreeBSD are not yet fully thread-safe. Most notably, this includes desgethostbyname()Function, which is used by MySQL to convert hostnames into IP addresses. Under certain circumstances,MysqldProcess suddenly causes 100% CPU load and is unresponsive. If you encounter this problem, try to start MySQL using--skip-name-resolveOption.

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 articleFreeBSD 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 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 build process requires GNU make (Gmake) To work. If GNUMakeIs not available, you must install it first before compiling MySQL.

The recommended way to compile and install MySQL on FreeBSDGcc(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 thatConfigureUses MIT-pthreads, you should read the MIT-pthreads notes.

If you get an error fromMake installThat it can't find/usr/include/pthreads,ConfigureDidn't detect that you need MIT-pthreads. To fix this problem, removeconfig.cache, Then re-runConfigureWith--with-mit-threadsOption.

Be sure that your name resolver setup is correct. Otherwise, you may experience resolver delays or failures when connectingMysqld. Also make sure thatlocalhostEntry in/etc/hostsFile is correct. The file shocould 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--open-files-limitOptionMysqld_safe, Or raise the limits forMysqldUser in/etc/login.confAnd rebuild itcap_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 shoshould consider rebuilding the kernel to allow MySQL to use more than 512 MB of RAM. Take a lookoption MAXDSIZIn the LINT config file for more information.

If you get problems with the current date in MySQL, settingTZVariable shocould help.


Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.