This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
building_mariadb_on_freebsd [2010/09/13 17:06] k2patel |
building_mariadb_on_freebsd [2020/08/10 02:35] (current) |
||
---|---|---|---|
Line 2: | Line 2: | ||
==== Getting Source ==== | ==== Getting Source ==== | ||
- | get source from [[http://www.mariadb.org | MariaDB]]\\ | + | |
- | extract to ///usr/local/src/mariadb// | + | |
+ | get source from [[http://www.mariadb.org/|MariaDB]]\\ | ||
+ | extract to /usr/local/src/mariadb | ||
==== Configure ==== | ==== Configure ==== | ||
- | **Modular configure** (usually you need to load plugins with my.cnf) **i am using this one.** | + | |
+ | |||
+ | **Modular configure** (usually you need to load plugins with my.cnf) i am using this one. | ||
<code bash> | <code bash> | ||
./configure --with-extra-charsets=all --localstatedir=/var/db/mysql | ./configure --with-extra-charsets=all --localstatedir=/var/db/mysql | ||
</code> | </code> | ||
- | |||
OR | OR | ||
**Build With Plugin** | **Build With Plugin** | ||
- | |||
<code bash> | <code bash> | ||
./configure --with-extra-charsets=all --with-plugin-maria --with-plugin-xtradb --localstatedir=/var/db/mysql | ./configure --with-extra-charsets=all --with-plugin-maria --with-plugin-xtradb --localstatedir=/var/db/mysql | ||
Line 22: | Line 25: | ||
**Static Build** as suggested by MariaDB wiki. | **Static Build** as suggested by MariaDB wiki. | ||
- | |||
<code bash> | <code bash> | ||
./configure --prefix=/usr/local/mysql --enable-assembler \ | ./configure --prefix=/usr/local/mysql --enable-assembler \ | ||
Line 32: | Line 34: | ||
--with-zlib-dir=bundled --enable-local-infile | --with-zlib-dir=bundled --enable-local-infile | ||
</code> | </code> | ||
+ | Now run “make -j4” and “make install” – will install it on system. | ||
- | Now run "//make -j4//" and "//make install//" -- will install it on system. | + | ==== rc script ==== |
- | ==== rc script ==== | + | |
- | You can simply use script provided with port version of mysql.\\ | + | You can simply use script provided with port version of mysql. |
Just in case if you dont have it, use below. | Just in case if you dont have it, use below. | ||
- | <code bash | /usr/local/etc/rc.d/mysql> | + | <code bash /usr/local/etc/rc.d/mysql> |
#!/bin/sh | #!/bin/sh | ||
# | # | ||
# $FreeBSD: ports/databases/mysql51-server/files/mysql-server.sh.in,v 1.6 2008/07/30 06:11:16 ale Exp $ | # $FreeBSD: ports/databases/mysql51-server/files/mysql-server.sh.in,v 1.6 2008/07/30 06:11:16 ale Exp $ | ||
# | # | ||
+ | |||
# PROVIDE: mysql | # PROVIDE: mysql | ||
# REQUIRE: LOGIN | # REQUIRE: LOGIN | ||
# KEYWORD: shutdown | # KEYWORD: shutdown | ||
+ | |||
# | # | ||
# Add the following line to /etc/rc.conf to enable mysql: | # Add the following line to /etc/rc.conf to enable mysql: | ||
Line 61: | Line 64: | ||
# to mysqld_safe (default empty). | # to mysqld_safe (default empty). | ||
# | # | ||
+ | |||
. /etc/rc.subr | . /etc/rc.subr | ||
+ | |||
name="mysql" | name="mysql" | ||
rcvar=`set_rcvar` | rcvar=`set_rcvar` | ||
+ | |||
load_rc_config $name | load_rc_config $name | ||
+ | |||
: ${mysql_enable="NO"} | : ${mysql_enable="NO"} | ||
: ${mysql_limits="NO"} | : ${mysql_limits="NO"} | ||
: ${mysql_dbdir="/var/db/mysql"} | : ${mysql_dbdir="/var/db/mysql"} | ||
: ${mysql_args=""} | : ${mysql_args=""} | ||
+ | |||
mysql_user="mysql" | mysql_user="mysql" | ||
mysql_limits_args="-e -U ${mysql_user}" | mysql_limits_args="-e -U ${mysql_user}" | ||
Line 84: | Line 87: | ||
mysql_install_db="/usr/local/bin/mysql_install_db" | mysql_install_db="/usr/local/bin/mysql_install_db" | ||
mysql_install_db_args="--ldata=${mysql_dbdir}" | mysql_install_db_args="--ldata=${mysql_dbdir}" | ||
+ | |||
mysql_create_auth_tables() | mysql_create_auth_tables() | ||
{ | { | ||
Line 90: | Line 93: | ||
[ $? -eq 0 ] && chown -R ${mysql_user}:${mysql_user} ${mysql_dbdir} | [ $? -eq 0 ] && chown -R ${mysql_user}:${mysql_user} ${mysql_dbdir} | ||
} | } | ||
+ | |||
mysql_prestart() | mysql_prestart() | ||
{ | { | ||
Line 102: | Line 105: | ||
fi | fi | ||
} | } | ||
+ | |||
mysql_poststart() | mysql_poststart() | ||
{ | { | ||
Line 112: | Line 115: | ||
return 0 | return 0 | ||
} | } | ||
+ | |||
run_rc_command "$1" | run_rc_command "$1" | ||
</code> | </code> | ||
- | ==== Enable and Start ==== | + | **Enable and Start** |
- | + | ||
- | Final steps.... (remember i am using Modular configure)\\ | + | |
- | + | ||
- | <code bash | /etc/my.cnf> | + | |
+ | Final steps…. (remember i am using Modular configure) | ||
+ | <code bash /etc/my.cnf> | ||
[mysqld] | [mysqld] | ||
## | ## | ||
Line 128: | Line 129: | ||
## plugin_dir=/usr/local/lib/mysql/plugin | ## plugin_dir=/usr/local/lib/mysql/plugin | ||
## | ## | ||
+ | |||
plugin-load=ha_xtradb.so | plugin-load=ha_xtradb.so | ||
+ | |||
## | ## | ||
## General Optimization | ## General Optimization | ||
## | ## | ||
+ | |||
open-files-limit=1024 | open-files-limit=1024 | ||
local-infile | local-infile | ||
Line 142: | Line 143: | ||
sort_buffer=256K | sort_buffer=256K | ||
max_heap_table_size=1M | max_heap_table_size=1M | ||
+ | |||
## | ## | ||
## InnoDB Configuration. | ## InnoDB Configuration. | ||
## | ## | ||
+ | |||
innodb_buffer_pool_size = 16M | innodb_buffer_pool_size = 16M | ||
innodb_additional_mem_pool_size = 2M | innodb_additional_mem_pool_size = 2M | ||
Line 156: | Line 157: | ||
innodb_lock_wait_timeout = 50 | innodb_lock_wait_timeout = 50 | ||
innodb_file_per_table | innodb_file_per_table | ||
+ | |||
## | ## | ||
## Setting Log / Bin expiry and name | ## Setting Log / Bin expiry and name | ||
## | ## | ||
+ | |||
expire_logs_days=5 | expire_logs_days=5 | ||
log-bin=mysqld-bin | log-bin=mysqld-bin | ||
Line 167: | Line 168: | ||
relay-log=freebsd-relay-bin | relay-log=freebsd-relay-bin | ||
binlog-ignore-db=mysql,test | binlog-ignore-db=mysql,test | ||
+ | |||
## | ## | ||
## Replication Options | ## Replication Options | ||
## | ## | ||
+ | |||
server-id=0 | server-id=0 | ||
+ | |||
#server-id=2 | #server-id=2 | ||
#replicate-same-server-id=0 | #replicate-same-server-id=0 | ||
Line 179: | Line 180: | ||
#auto-increment-offset=2 | #auto-increment-offset=2 | ||
#slave-net-timeout=120 | #slave-net-timeout=120 | ||
+ | |||
#master-host=192.168.1.3 | #master-host=192.168.1.3 | ||
#master-user=repl | #master-user=repl | ||
Line 185: | Line 186: | ||
#master-connect-retry=60 | #master-connect-retry=60 | ||
#replicate-ignore-db=mysql,test | #replicate-ignore-db=mysql,test | ||
+ | |||
</code> | </code> | ||
Line 199: | Line 201: | ||
</code> | </code> | ||
- | ==== Error ==== | + | **Error** |
If you get any error related to DB not found (usually get created on first RUN). | If you get any error related to DB not found (usually get created on first RUN). | ||
Line 207: | Line 209: | ||
</code> | </code> | ||
- | ==== ENJOY!! Optimized Version of MySQL MariaDB==== | + | **ENJOY!! Optimized Version of MySQL MariaDB** |
- | + | ||
- | + |