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

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
building_mariadb_on_freebsd.txt · Last modified: 2020/08/10 02:35 (external edit)