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 Both sides next revision
building_mariadb_on_freebsd [2010/09/13 17:06]
k2patel
building_mariadb_on_freebsd [2017/07/02 02:02]
k2patel created
Line 1: Line 1:
-====== ​Build / Compile MariaDB on FreeBSD ​======+Build / Compile MariaDB on FreeBSD 
 +Getting Source
  
-==== Getting Source ==== +get source from MariaDB 
-get source from [[http://​www.mariadb.org | MariaDB]]\\ +extract to /​usr/​local/​src/​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
-./configure --with-extra-charsets=all --localstatedir=/​var/​db/​mysql +
-</​code>​+
  
 +Modular configure (usually you need to load plugins with my.cnf) i am using this one.
 +
 +./configure --with-extra-charsets=all --localstatedir=/​var/​db/​mysql
 OR OR
  
-**Build With Plugin**+Build With Plugin
  
-<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
-</​code>​ 
- 
 OR OR
  
-**Static Build** as suggested by MariaDB wiki.+Static Build as suggested by MariaDB wiki.
  
-<code bash> 
 ./configure --prefix=/​usr/​local/​mysql --enable-assembler \ ./configure --prefix=/​usr/​local/​mysql --enable-assembler \
 --with-extra-charsets=all ​ --enable-thread-safe-client ​ --with-big-tables \ --with-extra-charsets=all ​ --enable-thread-safe-client ​ --with-big-tables \
Line 31: Line 26:
 --with-mysqld-ldflags=-all-static ​ --with-client-ldflags=-all-static \ --with-mysqld-ldflags=-all-static ​ --with-client-ldflags=-all-static \
 --with-zlib-dir=bundled --enable-local-infile --with-zlib-dir=bundled --enable-local-infile
-</​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>+| /​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 55:
 #                       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 78:
 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 84:
         [ $? -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 96:
         fi         fi
 } }
 + 
 mysql_poststart() mysql_poststart()
 { {
Line 112: Line 106:
         return 0         return 0
 } }
 + 
 run_rc_command "​$1"​ run_rc_command "​$1"​
-</​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)
 +| /etc/my.cnf
 [mysqld] [mysqld]
 ## ##
Line 128: Line 118:
 ## 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 132:
 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 146:
 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 157:
 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 169:
 #​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 175:
 #​master-connect-retry=60 #​master-connect-retry=60
 #​replicate-ignore-db=mysql,​test #​replicate-ignore-db=mysql,​test
-</​code>​ 
- 
 Enabled it in rc.conf Enabled it in rc.conf
  
-<code bash> 
 echo '​mysql_enable="​YES"'​ >> /​etc/​rc.conf echo '​mysql_enable="​YES"'​ >> /​etc/​rc.conf
-</​code>​ 
- 
 Now start it using. Now start it using.
  
-<code bash> 
 /​usr/​local/​etc/​rc.d/​mysql-server start /​usr/​local/​etc/​rc.d/​mysql-server start
-</​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).
  
-<code bash> 
 mysql_install_db --datadir=/​usr/​local/​var mysql_install_db --datadir=/​usr/​local/​var
-</​code>​ +ENJOY!! Optimized Version of MySQL MariaDB
- +
-==== ENJOY!! Optimized Version of MySQL MariaDB==== +
- +
- +
building_mariadb_on_freebsd.txt · Last modified: 2020/08/10 02:35 (external edit)