mysql-log

Installing MySQL from source

Beberapa hari lalu saya melakukan installasi MySQL Community Server (Open Source) menggunakan source di CentOS 5.5 x86_64bit dan akan digunakan sebagai backend dari MySQL Load Balancing. MySQL yang saya gunakan adalah versi 5.1.56 (Community) karena beberapa kali saya menggunakan MySQL versi 5.5.11 mengalami masalah kompatibiltas dengan beberapa aplikasi yang sudah running :mrgreen: .

Beberapa hal yang saya lakukan sebelum meng-compile dan menginstal MySQL adalah mempersiapkan mesin agar sesuai dengan kebutuhan, metode yang saya gunakan untuk installasi operating system adalah mode minimal dan setelah itu menentukan struktur direktori yang akan digunakan untuk penyimpanan data, rencananya data MySQL akan saya simpan di /home/mysql kemudian file instalasi sendiri akan saya taruh di /usr/local/mysql.  See below:

Install dependencies yang akan digunakan oleh MySQL maupun development tools:

# yum -y install gcc make automake glibc ncurses ncurses-devel

Kemudian download source MySQL dari http://mysql.com/downloads/mysql/5.1.html (pilih source code), ekstrak, compile dan install:

# wget ftp://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.1/mysql-5.1.56.tar.gz
# tar -zxvf mysql-5.1.56.tar.gz
# cd mysql-5.1.56
# ./configure –prefix=/usr/local/mysql –datadir=/home/mysql –with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock –localstatedir=/home/mysql/data
# make
# make install

Selanjutnya buat symbolik link dari /usr/local/mysql/bin ke /usr/bin/

# ln -s /usr/local/mysql/bin/* /usr/bin/

Next, copy file init MySQL agar dapat dilakukan start melalui /etc/init.d atau service dan ubah permissionnya supaya executable:

# cp /home/mysql/mysql/mysql.server /etc/init.d/mysql
# chmod +x /etc/init.d/mysql

Selanjutnya copy file konfigurasi mysql dan sesuaikan dengan kebutuhan, karena terdapat beberapa file konfigurasi untuk level yang berbeda-beda (small – medium – large), beberapa pilihannya adalah berikut:

my-huge.cnf
my-innodb-heavy-4G.cnf
my-large.cnf
my-medium.cnf
my-small.cnf

Untuk penjelasan detail mengenai file-file konfigurasi diatas dapat dibaca didalam file-file tersebut, saya sendiri menggunakan large :d

# cp /home/mysql/mysql/my-large.cnf /etc/my.cnf

Next, buat MySQL privileges yang didalamnya termasuk host, user,tables_priv, columns_priv, dan func tables dengan menjalankan script:

# /usr/local/mysql/bin/mysql_install_db

Sampai proses ini, intalasi MySQL dari source telah selesai dan MySQL server siap digunakan, jangan lupa start servicenya  dan buat agar service MySQL running di run level 3 5 :p

# chkconfig –level 35 mysql on
# /etc/init.d/mysql start

Dari command diatas akan terdapat notifikasi “Starting MySQL. SUCCESS!”, proses MySQL yang sedang berjalan juga dapat dilihat melalui:

# ps aux |grep mysql
root     19716  0.0  0.0  63816  1332 pts/0    S    13:45   0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe –datadir=/home/mysql –pid-file=/home/mysql/srv15.varnion.com.pid
mysql    19804  0.0  0.1 310996  5044 pts/0    Sl   13:45   0:00 /usr/local/mysql/libexec/mysqld –basedir=/usr/local/mysql –datadir=/home/mysql –user=mysql –log-error=/home/mysql/srv15.varnion.com.err –pid-file=/home/mysql/srv15.varnion.com.pid –socket=/usr/local/mysql/tmp/mysql.sock –port=3306

Nah, sampai disini diharapkan tidak ada masalah dikemudian hari dari project mysql cluster load balancing dapat dilanjutkan..

Hope this useful :d

referensi: http://dev.mysql.com/doc/refman/5.1/en/source-installation.html

One thought on “Installing MySQL from source

  1. Thanks, it’s very helpfully, I’ve followed this article and my databse server work great…
    ;)

Leave a Reply

Your email address will not be published. Required fields are marked *


*