Enabling 64bit MySQL on Solaris Sun Web Stack 1.4

By Alasdair Lumsden on 29 Jan 2009

Sun Web Stack 1.4 includes both a 32bit and 64bit MySQL, with the standard bin/mysqld and bin/amd64/mysqld binaries.

By default, the SMF service sun-mysql50 runs in 32bit mode. To enable 64bit mode, simply:

# svccfg -s sun-mysql50:default
svc:/application/database/sun-mysql50:default> listprop
sun-mysql50                        application
sun-mysql50/action_authorization   astring  solaris.smf.manage.sun-mysql/default
sun-mysql50/bin                    astring  /opt/webstack/mysql/5.0/bin
sun-mysql50/data                   astring  /var/opt/webstack/mysql/5.0/data
sun-mysql50/value_authorization    astring  solaris.smf.value.sun-mysql/default
sun-mysql50/enable_64bit           boolean  true
method_context                     framework
method_context/group               astring  mysql
method_context/limit_privileges    astring  :default
method_context/privileges          astring  :default
method_context/project             astring  :default
method_context/resource_pool       astring  :default
method_context/supp_groups         astring  :default
method_context/use_profile         boolean  false
method_context/user                astring  mysql
method_context/working_directory   astring  /var/opt/webstack/mysql
general                            framework
general/enabled                    boolean  true
restarter                          framework    NONPERSISTENT
restarter/logfile                  astring  /var/svc/log/application-database-sun-mysql50:default.log
restarter/contract                 count    105
restarter/start_pid                count    606
restarter/start_method_timestamp   time     1233237617.117424000
restarter/start_method_waitstatus  integer  0
restarter/auxiliary_state          astring  none
restarter/next_state               astring  none
restarter/state                    astring  online
restarter/state_timestamp          time     1233237617.119195000
svc:/application/database/sun-mysql50:default> setprop sun-mysql50/enable_64bit=true
svc:/application/database/sun-mysql50:default> exit
# svcadm refresh sun-mysql50
# svcadm disable sun-mysql50
# svcadm enable sun-mysql50
# ps -ef | grep mysql
   mysql   649   490   0 14:00:06 ?           0:00 /bin/sh /opt/webstack/mysql/5.0/bin/64/mysqld_safe --user=mysql --datadir=/var/
   mysql   747   649   0 14:00:06 ?           0:22 /opt/webstack/mysql/5.0/bin/64/mysqld --basedir=/opt/webstack/mysql/5.0 --datad

And as we can see from the process list, the 64 bit binary has been launched instead of the 32 bit one.