User Tools

Site Tools


building_mariadb_on_freebsd

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

building_mariadb_on_freebsd [2010/09/13 16:57]
k2patel
building_mariadb_on_freebsd [2020/08/10 02:35]
Line 1: Line 1:
-====== Build / Compile MariaDB on FreeBSD ====== 
- 
-==== Getting Source ==== 
-get source from [[http://​www.mariadb.org | MariaDB]]\\ 
-extract to ///​usr/​local/​src/​mariadb//​ 
-==== Configure ==== 
-**Modular configure** (usually you need to load plugins with my.cnf) **i am using this one.** 
- 
-<code bash> 
-./configure --with-extra-charsets=all --localstatedir=/​var/​db/​mysql 
-</​code>​ 
- 
-OR 
- 
-**Build With Plugin** 
- 
-<code bash> 
-./configure --with-extra-charsets=all ​ --with-plugin-maria --with-plugin-xtradb --localstatedir=/​var/​db/​mysql 
-</​code>​ 
- 
-OR 
- 
-**Static Build** as suggested by MariaDB wiki. 
- 
-<code bash> 
-./configure --prefix=/​usr/​local/​mysql --enable-assembler \ 
---with-extra-charsets=all ​ --enable-thread-safe-client ​ --with-big-tables \ 
---with-plugin-maria --with-maria-tmp-tables --with-plugin-xtradb \ 
---with-mysqld-ldflags=-static --with-client-ldflags=-static --with-readline \ 
---with-ssl --with-plugins=max-no-ndb --with-embedded-server --with-libevent \ 
---with-mysqld-ldflags=-all-static ​ --with-client-ldflags=-all-static \ 
---with-zlib-dir=bundled --enable-local-infile 
-</​code>​ 
- 
-Now run "//​make -j4//" and "//​make install//"​ -- will install it on system. 
- 
-==== rc script ==== 
-You can simply use script provided with port version of mysql.\\ 
-Just in case if you dont have it, use below. 
- 
-<code bash | /​usr/​local/​etc/​rc.d/​mysql>​ 
-#!/bin/sh 
-# 
-# $FreeBSD: ports/​databases/​mysql51-server/​files/​mysql-server.sh.in,​v 1.6 2008/07/30 06:11:16 ale Exp $ 
-# 
- 
-# PROVIDE: mysql 
-# REQUIRE: LOGIN 
-# KEYWORD: shutdown 
- 
-# 
-# Add the following line to /​etc/​rc.conf to enable mysql: 
-# mysql_enable (bool): ​ Set to "​NO"​ by default. 
-#                       Set it to "​YES"​ to enable MySQL. 
-# mysql_limits (bool): ​ Set to "​NO"​ by default. 
-#                       Set it to yes to run `limits -e -U mysql` 
-#                       just before mysql starts. 
-# mysql_dbdir (str): ​   Default to "/​var/​db/​mysql"​ 
-#                       Base database directory. 
-# mysql_args (str): ​    ​Custom additional arguments to be passed 
-#                       to mysqld_safe (default empty). 
-# 
- 
-. /​etc/​rc.subr 
- 
-name="​mysql"​ 
-rcvar=`set_rcvar` 
- 
-load_rc_config $name 
- 
-: ${mysql_enable="​NO"​} 
-: ${mysql_limits="​NO"​} 
-: ${mysql_dbdir="/​var/​db/​mysql"​} 
-: ${mysql_args=""​} 
- 
-mysql_user="​mysql"​ 
-mysql_limits_args="​-e -U ${mysql_user}"​ 
-pidfile="​${mysql_dbdir}/​`/​bin/​hostname`.pid"​ 
-command="/​usr/​local/​bin/​mysqld_safe"​ 
-command_args="​--defaults-extra-file=${mysql_dbdir}/​my.cnf --user=${mysql_user} --datadir=${mysql_dbdir} --pid-file=${pidfile} ${mysql_args} > /dev/null 2>&1 &" 
-procname="/​usr/​local/​libexec/​mysqld"​ 
-start_precmd="​${name}_prestart"​ 
-start_postcmd="​${name}_poststart"​ 
-mysql_install_db="/​usr/​local/​bin/​mysql_install_db"​ 
-mysql_install_db_args="​--ldata=${mysql_dbdir}"​ 
- 
-mysql_create_auth_tables() 
-{ 
-        eval $mysql_install_db $mysql_install_db_args >/​dev/​null 2>/​dev/​null 
-        [ $? -eq 0 ] && chown -R ${mysql_user}:​${mysql_user} ${mysql_dbdir} 
-} 
- 
-mysql_prestart() 
-{ 
-        if [ ! -d "​${mysql_dbdir}/​mysql/​."​ ]; then 
-                mysql_create_auth_tables || return 1 
-        fi 
-        if checkyesno mysql_limits;​ then 
-                eval `/​usr/​bin/​limits ${mysql_limits_args}` 2>/​dev/​null 
-        else 
-                return 0 
-        fi 
-} 
- 
-mysql_poststart() 
-{ 
-        local timeout=15 
-        while [ ! -f "​${pidfile}"​ -a ${timeout} -gt 0 ]; do 
-                timeout=$(( timeout - 1 )) 
-                sleep 1 
-        done 
-        return 0 
-} 
- 
-run_rc_command "​$1"​ 
-</​code>​ 
  
building_mariadb_on_freebsd.txt ยท Last modified: 2020/08/10 02:35 (external edit)