olaris 11: Installing MySQL
Recently I have been spending some time learning about database technologies (Oracle Databases at Keste as well as MySQL on my own). Part of this I have decided to carry over into my existing work with Solaris, and go through the installation process using the Image Packaging System which is in Solaris. Now really the IPS does all the heavy lifting for us, but we still need to know how to utilize the package manager to get the desired result.
Searching for the MySQL Package
Now when we search using the below command, you will notice that we are using the parameter -r this tells it to use the remote repository in addition to the local repository, this allows us to find software that we do not have installed on the machine.
# pkg search -r mysql INDEX ACTION VALUE PACKAGE pkg.summary set A MySQL database adapter for the Python programming language pkg:/library/python-2/python-mysql-26@1.2.2-0.175.1.0.0.11.0 pkg.summary set Apache Portable Runtime Utility (APR-util) 1.3 DBD Driver for MySQL 5.0 pkg:/library/apr-util-13/dbd-mysql@1.3.9-0.175.1.0.0.24.0 pkg.summary set MySQL Database Management System (Base) pkg:/database/mysql-common@0.5.11-0.175.1.0.0.24.0 pkg.summary set MySQL extension module for PHP pkg:/web/php-53/extension/php-mysql@5.3.14-0.175.1.0.0.24.0 pkg.summary set MySQL extension module for PHP pkg:/web/php-52/extension/php-mysql@5.2.17-0.175.1.0.0.24.0 pkg.summary set MySQL 5.1 Database Management System pkg:/database/mysql-51@5.1.37-0.175.1.0.0.24.0 pkg.summary set MySQL 5.1 libraries pkg:/database/mysql-51/library@5.1.37-0.175.1.0.0.24.0 pkg.summary set MySQL 5.1 tests pkg:/database/mysql-51/tests@5.1.37-0.175.1.0.0.24.0 basename file usr/mysql/5.1/bin/amd64/mysql pkg:/database/mysql-51@5.1.37-0.175.1.0.0.24.0 basename file usr/mysql/5.1/bin/mysql pkg:/database/mysql-51@5.1.37-0.175.1.0.0.24.0 basename file usr/mysql/5.1/bin/sparcv9/mysql pkg:/database/mysql-51@5.1.37-0.175.1.0.0.24.0 name group mysql pkg:/database/mysql-common@0.5.11-0.175.1.0.0.24.0 basename link usr/bin/mysql pkg:/database/mysql-51@5.1.37-0.175.1.0.0.24.0 name user mysql pkg:/database/mysql-common@0.5.11-0.175.1.0.0.24.0 basename dir etc/mysql pkg:/database/mysql-51@5.1.37-0.175.1.0.0.24.0 basename dir usr/mysql pkg:/database/mysql-51@5.1.37-0.175.1.0.0.24.0 basename dir usr/mysql/5.1/include/mysql pkg:/database/mysql-51@5.1.37-0.175.1.0.0.24.0 basename dir usr/mysql/5.1/share/mysql pkg:/database/mysql-51@5.1.37-0.175.1.0.0.24.0 basename dir var/mysql pkg:/database/mysql-51@5.1.37-0.175.1.0.0.24.0 basename dir usr/mysql pkg:/database/mysql-51/library@5.1.37-0.175.1.0.0.24.0 basename dir usr/mysql/5.1/lib/amd64/mysql pkg:/database/mysql-51/library@5.1.37-0.175.1.0.0.24.0 basename dir usr/mysql/5.1/lib/mysql pkg:/database/mysql-51/library@5.1.37-0.175.1.0.0.24.0 basename dir usr/mysql/5.1/lib/sparcv9/mysql pkg:/database/mysql-51/library@5.1.37-0.175.1.0.0.24.0 basename dir usr/mysql pkg:/database/mysql-51/tests@5.1.37-0.175.1.0.0.24.0 |
Now in the output we are looking for a pkg.summary which is the software we are looking for, in our case pkg:/database/mysql-51 or simply mysql-51.
Once we think we have the right package I like to do a pkg info to make sure that it is what I expect, again here we want to look against remote repositories as well with the -r parameter.
# pkg info -r mysql-51 Name: database/mysql-51 Summary: MySQL 5.1 Database Management System Category: Development/Databases State: Not installed Publisher: solaris Version: 5.1.37 Build Release: 5.11 Branch: 0.175.1.0.0.24.0 Packaging Date: September 4, 2012 05:09:22 PM Size: 147.23 MB FMRI: pkg://solaris/database/mysql-51@5.1.37,5.11-0.175.1.0.0.24.0:20120904T170922Z |
Install the MySQL Package
Here we can install MySQL 5.1 via the IPS repositories.
# pkg install mysql-51 Packages to install: 2 Create boot environment: No Create backup boot environment: No Services to change: 2 DOWNLOAD PKGS FILES XFER (MB) SPEED Completed 2/2 252/252 52.2/52.2 16.3M/s PHASE ITEMS Installing new actions 343/343 Updating package state database Done Updating image state Done Creating fast lookup database Done |
Enable the MySQL Service
Now lets take a look at the service. We can see that the service is installed but disabled.
# svcs -a | grep mysql disabled 10:28:40 svc:/application/database/mysql:version_51 |
Enable the service.
# svcadm enable mysql # svcs -a | grep mysql online 10:30:26 svc:/application/database/mysql:version_51 |
Connect to MySQL
# mysql Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 Server version: 5.1.37 Source distribution Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> |
Please note this is not a secure MySQL configuration. You will need to secure this before use.