Mandalika's scratchpad [ Work blog @Oracle | My Music Compositions ]

Old Posts: 09.04  10.04  11.04  12.04  01.05  02.05  03.05  04.05  05.05  06.05  07.05  08.05  09.05  10.05  11.05  12.05  01.06  02.06  03.06  04.06  05.06  06.06  07.06  08.06  09.06  10.06  11.06  12.06  01.07  02.07  03.07  04.07  05.07  06.07  08.07  09.07  10.07  11.07  12.07  01.08  02.08  03.08  04.08  05.08  06.08  07.08  08.08  09.08  10.08  11.08  12.08  01.09  02.09  03.09  04.09  05.09  06.09  07.09  08.09  09.09  10.09  11.09  12.09  01.10  02.10  03.10  04.10  05.10  06.10  07.10  08.10  09.10  10.10  11.10  12.10  01.11  02.11  03.11  04.11  05.11  07.11  08.11  09.11  10.11  11.11  12.11  01.12  02.12  03.12  04.12  05.12  06.12  07.12  08.12  09.12  10.12  11.12  12.12  01.13  02.13  03.13  04.13  05.13  06.13  07.13  08.13  09.13  10.13  11.13  12.13  01.14  02.14  03.14  04.14  05.14  06.14  07.14  09.14  10.14  11.14  12.14  01.15  02.15  03.15  04.15  06.15  09.15  12.15  01.16  03.16  04.16  05.16  06.16  07.16  08.16  09.16  12.16  01.17  02.17  03.17  04.17  06.17  07.17  08.17  09.17  10.17  12.17  01.18  02.18  03.18  04.18  05.18  06.18  07.18  08.18  09.18  11.18  12.18  01.19  02.19  05.19  06.19  08.19  10.19  11.19  05.20  10.20  11.20  12.20  09.21  11.21  12.22 


Friday, June 13, 2008
 
Installing MySQL 5.0.51b from the Source Code on Sun Solaris

Building and installing the MySQL server from the source code is relatively very easy when compared to many other OSS applications. At least that was my experience. The following simplified installation instructions were based on the MySQL 5.0 Reference Manual .

Steps for setting up the MySQL 5.x environment on Sun Solaris

  1. Create 'mysql' group, then 'mysql' user.

    eg.,

    # mkdir /export/software/mysql
    # groupadd mysql
    # useradd -g mysql -d /export/software/mysql -s /bin/bash mysql
    # passwd mysql
    New Password: mysql
    Re-enter new Password: mysql
    # chown mysql:mysql /export/software/mysql


  2. Login as 'mysql' user; and add the following directories to the PATH environment variable:

    eg.,

    % cat ~/.bashrc

    PATH=/usr/bin:/usr/sbin:/usr/openwin/bin:/usr/ccs/bin:/usr/ucb:/usr/sfw/bin:/opt/csw/bin:/usr/local/bin:.:$PATH
    export PATH


  3. Download MySQL 5.0.51b source code from the location: http://dev.mysql.com/downloads/mysql/5.0.html#source. Download the compressed GNU TAR archive (tar.gz).

  4. Run "configure" with the following options.

    eg.,

    % ./configure --prefix=~/MySQL5051b --enable-shared --enable-thread-safe-client --with-pic --with-debug=no


  5. Run "make all" to build MySQL

    eg.,

    % make all


  6. Run "make install" to install MySQL either in /usr/local directory or the directory specified in "--prefix" during the "configure" task.
    eg.,

    % make install


  7. Initialize the grant tables. "mysql_install_db" program sets up the initial MySQL grant tables containing the privileges that determine how users are allowed to connect to the server. mysql_install_db needs to be run only the first time you install MySQL on Solaris from the source code.

    eg.,

    % pwd
    /export/software/mysql/MySQL5051b/bin

    % ./mysql_install_db --user=mysql

    Installing MySQL system tables...
    OK
    Filling help tables...
    OK

    To start mysqld at boot time you have to copy
    support-files/mysql.server to the right place for your system

    PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
    To do so, start the server, then issue the following commands:
    /export/software/mysql/MySQL5051b/bin/mysqladmin -u root password 'new-password'
    /export/software/mysql/MySQL5051b/bin/mysqladmin -u root -h unknown password 'new-password'

    Alternatively you can run:
    /export/software/mysql/MySQL5051b/bin/mysql_secure_installation

    which will also give you the option of removing the test
    databases and anonymous user created by default. This is
    strongly recommended for production servers.

    See the manual for more instructions.

    ...
    ...


  8. Start the MySQL server

    eg.,

    % ./mysqld_safe &
    Starting mysqld daemon with databases from /export/software/mysql/MySQL5051b/var


  9. Verify that the server is running

    eg.,

    % ./mysqladmin version
    ./mysqladmin Ver 8.41 Distrib 5.0.51b, for pc-solaris2.11 on i386
    Copyright (C) 2000-2006 MySQL AB
    This software comes with ABSOLUTELY NO WARRANTY. This is free software,
    and you are welcome to modify and redistribute it under the GPL license

    Server version 5.0.51b
    Protocol version 10
    Connection Localhost via UNIX socket
    UNIX socket /tmp/mysql.sock
    Uptime: 4 min 28 sec

    Threads: 1 Questions: 1 Slow queries: 0 Opens: 12 Flush tables: 1 Open tables: 6 Queries per second avg: 0.004


  10. Verify that you can retrieve information from the server.

    • List the existing databases

      eg.,

      % mysqlshow
      +--------------------+
      | Databases |
      +--------------------+
      | information_schema |
      | test |
      +--------------------+


    • List the tables in one of the existing databases.

      eg.,

      % mysqlshow information_schema
      Database: information_schema
      +---------------------------------------+
      | Tables |
      +---------------------------------------+
      | CHARACTER_SETS |
      | COLLATIONS |
      | COLLATION_CHARACTER_SET_APPLICABILITY |
      | COLUMNS |
      | COLUMN_PRIVILEGES |
      | KEY_COLUMN_USAGE |
      | PROFILING |
      | ROUTINES |
      | SCHEMATA |
      | SCHEMA_PRIVILEGES |
      | STATISTICS |
      | TABLES |
      | TABLE_CONSTRAINTS |
      | TABLE_PRIVILEGES |
      | TRIGGERS |
      | USER_PRIVILEGES |
      | VIEWS |
      +---------------------------------------+


    • Retrieve the row count from one of the tables in the "information_schema" database.

      eg.,

      % mysql -e "SELECT COUNT(*) FROM TABLES" information_schema
      +----------+
      | COUNT(*) |
      +----------+
      | 17 |
      +----------+



  11. Finally shutdown the MySQL server. Only privileged MySQL users can shutdown the MySQL server. The grant tables (step #7) step creates a superuser account with username 'root'. This account pertains to MySQL only. It is no way related to the OS username. The initial 'root' account password is empty, so anyone can connect to the MySQL server as 'root' without a password; and be granted all privileges.

    eg.,

    % id
    uid=65539(mysql) gid=104(mysql)

    % ./mysqladmin shutdown
    ./mysqladmin: shutdown failed; error: 'Access denied; you need the SHUTDOWN privilege for this operation'

    % ./mysqladmin -u root shutdown


    Check the other window for the shutdown confirmation where you started the MySQL server.

    % ./mysqld_safe
    Starting mysqld daemon with databases from /export/software/mysql/MySQL5051b/var

    STOPPING server from pid file /export/software/mysql/MySQL5051b/var/unknown.pid
    080612 13:59:09 mysqld ended


    At this point "mysqladmin version" should return an error.

    % ./mysqladmin version
    ./mysqladmin: connect to server at 'localhost' failed
    error: 'Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)'
    Check that mysqld is running and that the socket: '/tmp/mysql.sock' exists!

________________
Technorati Tags:
| |


Comments:
Hello,

My name is Ashish Hareet & I've recently created a website with mock exams for SCJP aspirants which provides practice exams for SCJP as a free resource - http://www.irixtech.com . Users can take exams anonymously or they can register to keep track of their scores.

I also provide a downloadable version with about 140 questions -http://www.irixtech.com/content/download-voodoo-exam . The downloadable application has been available to the community for about 6 years(since 2002) with provisions to add their own questions for practice.

I'd appreciate if you can review the website & the application & provide a link to the same. The purpose of the website & the download is to be a free resource for aspiring java applicants & I'm spreading the word.

I'll be placing a link back to your site in the "Aditional Resources" section(this is still being worked on).

Together we can help provide free resources to the community.

Thanks for your time & have a good day

Regards
Ashish Hareet
 
Post a Comment



<< Home


2004-2019 

This page is powered by Blogger. Isn't yours?