Selasa, 27 Oktober 2009

Instalasi Mysql 5.1.34 di solaris 10


Terusik dengan performa MySQL di solaris 10. Pagi ini sebelum beraktifikas, ditemani mesin X4150 dan external storage, saatnya merajut script ruwet.

Tidak semulus yang dibayangkan namun mudah


download mysql-5.1.34-solaris10-x86_64.tar.gz bisa dicari di download mysql.

taruh di /export/home

cd /export/home
gunzip mysql-5.1.34-solaris10-x86_64.tar.gz
tar -xvf mysql-5.1.34-solaris10-x86_64.tar
groupadd mysql
useradd -g mysql mysql
mv mysql-5.1.34-solaris10-x86_64 mysql
cd mysql
chown -R mysql .
chgrp -R mysql .
scripts/mysql_install_db --user=mysql
chown -R root .
chown -R mysql data

kemudian cek dengan

root@sbypoc # bin/mysqld_safe --user=mysql &
[1] 634
root@sbypoc # 091027 12:54:37 mysqld_safe Logging to '/export/home/mysql/data/sbypoc.err'.
091027 12:54:37 mysqld_safe Starting mysqld daemon with databases from /export/home/mysql/data

root@sbypoc #ps -ef|grep mysql
root 634 393 0 12:54:37 pts/4 0:00 /bin/sh bin/mysqld_safe --user=mysql


sekarang menancapkan ke service ke smf

bikin file /lib/svc/method/svc-mysql

isinya


#!/usr/bin/sh

#

# William Pool (Puddle) 01/05

# SMF Method file for MySQL

# E-mail: puddle@flipmotion.com

#

# This uses Sun's default MySQL packages

# SUNWmysqlu SUNWmysqlr

# Modify accordingly!

#

# NOTE: Make sure DB_DIR is owned BY the mysql

# user and group and chmod 700.

#

. /lib/svc/share/smf_include.sh

DB_DIR=/export/home/mysql/data

PIDFILE=${DB_DIR}/`/usr/bin/uname -n`.pid



case "$1" in

start)

/export/home/mysql/bin/mysqld_safe --user=mysql \
--datadir=${DB_DIR} --pid-file=${PIDFILE} \
> /dev/null &

;;

stop)

if [ -f ${PIDFILE} ]; then

/usr/bin/pkill mysqld_safe >/dev/null 2>&1

/usr/bin/kill `cat ${PIDFILE}` > /dev/null 2>&1 \
&& echo -n ' mysqld'

fi

;;

'restart')

stop

while pgrep mysqld > /dev/null

do

sleep 1

done

start

;;

*)

echo ""

echo "Usage: `basename $0` \
{ start | stop | restart }"

echo ""

exit 64

;;

esac

kemudian buat file /var/svc/manifest/network/mysql.xml

isinya

<?xml version='1.0'?>
<!DOCTYPE service_bundle SYSTEM '/usr/share/lib/xml/dtd/service_bundle.dtd.1'>
<!--

William Pool (Puddle) 02/05
Service manifest for MySQL
E-mail: puddle@flipmotion.com
-->

<service_bundle type='manifest' name='mysql:mysql'>

<service
name='network/mysql'
type='service'
version='1'>
<create_default_instance enabled='false' />
<single_instance />


<dependency name='fs'
grouping='require_all'
restart_on='none'
type='service'>
<service_fmri value='svc:/system/filesystem/local' />
</dependency>

<dependency name='net'
grouping='require_all'
restart_on='none'
type='service'>
<service_fmri value='svc:/network/loopback' />
</dependency>

<exec_method
type='method'
name='start'
exec='/lib/svc/method/svc-mysql start'
timeout_seconds='-1'>
<method_context>
<method_credential user='mysql' group='mysql' />
</method_context>
</exec_method>

<exec_method
type='method'
name='stop'
exec=':kill'
timeout_seconds='-1'>
</exec_method>

<exec_method
type='method'
name='restart'
exec='/lib/svc/method/svc-mysql restart'
timeout_seconds='-1'>
</exec_method>



</service>

</service_bundle>

kemudian kita ubah permisi filenya

chown root:bin /lib/svc/method/svc-mysql

chmod 555 /lib/svc/method/svc-mysql

chown root:sys /var/svc/manifest/network/mysql.xml

chmod 444 /var/svc/manifest/network/mysql.xml

chown -R mysql:mysql /export/home/mysql

chmod -R 700 /export/home/mysql/data

kita lakukan import ke SMF

svccfg import /var/svc/manifest/network/mysql.xml
svcadm -v enable mysql


Tidak ada komentar:

Posting Komentar