This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
building_mariadb_on_freebsd [2010/09/13 16:57] k2patel |
building_mariadb_on_freebsd [2017/07/02 02:07] k2patel |
||
---|---|---|---|
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 | ||
+ | |||
+ | Final steps…. (remember i am using Modular configure) | ||
+ | | /etc/my.cnf | ||
+ | [mysqld] | ||
+ | ## | ||
+ | ## Load Plugins | ||
+ | ## To specify cutom plugin dir use line below. | ||
+ | ## plugin_dir=/usr/local/lib/mysql/plugin | ||
+ | ## | ||
+ | |||
+ | plugin-load=ha_xtradb.so | ||
+ | |||
+ | ## | ||
+ | ## General Optimization | ||
+ | ## | ||
+ | |||
+ | open-files-limit=1024 | ||
+ | local-infile | ||
+ | character-set-server=utf8 | ||
+ | connect-timeout=60 | ||
+ | key_buffer_size=1M | ||
+ | sort_buffer=256K | ||
+ | max_heap_table_size=1M | ||
+ | |||
+ | ## | ||
+ | ## InnoDB Configuration. | ||
+ | ## | ||
+ | |||
+ | innodb_buffer_pool_size = 16M | ||
+ | innodb_additional_mem_pool_size = 2M | ||
+ | innodb_data_file_path = ibdata1:1024M:autoextend | ||
+ | innodb_log_file_size = 5M | ||
+ | innodb_log_buffer_size = 8M | ||
+ | innodb_log_files_in_group=2 | ||
+ | innodb_flush_log_at_trx_commit = 1 | ||
+ | innodb_lock_wait_timeout = 50 | ||
+ | innodb_file_per_table | ||
+ | |||
+ | ## | ||
+ | ## Setting Log / Bin expiry and name | ||
+ | ## | ||
+ | |||
+ | expire_logs_days=5 | ||
+ | log-bin=mysqld-bin | ||
+ | log-bin-trust-function-creators=1 | ||
+ | datadir=/usr/local/var | ||
+ | relay-log=freebsd-relay-bin | ||
+ | binlog-ignore-db=mysql,test | ||
+ | |||
+ | ## | ||
+ | ## Replication Options | ||
+ | ## | ||
+ | |||
+ | server-id=0 | ||
+ | |||
+ | #server-id=2 | ||
+ | #replicate-same-server-id=0 | ||
+ | #auto-increment-increment=5 | ||
+ | #auto-increment-offset=2 | ||
+ | #slave-net-timeout=120 | ||
+ | |||
+ | #master-host=192.168.1.3 | ||
+ | #master-user=repl | ||
+ | #master-password=password | ||
+ | #master-connect-retry=60 | ||
+ | #replicate-ignore-db=mysql,test | ||
+ | Enabled it in rc.conf | ||
+ | |||
+ | echo 'mysql_enable="YES"' >> /etc/rc.conf | ||
+ | Now start it using. | ||
+ | |||
+ | /usr/local/etc/rc.d/mysql-server start | ||
+ | Error | ||
+ | |||
+ | If you get any error related to DB not found (usually get created on first RUN). | ||
+ | |||
+ | mysql_install_db --datadir=/usr/local/var | ||
+ | ENJOY!! Optimized Version of MySQL MariaDB |