• Home

Logo

Navigation
  • Home
  • Articles
    • Content Writing
    • Design
    • General
    • Internet Marketing
    • Social Media
    • Tools and Tips
    • Usability
    • Web Hosting Articles
  • Tutorials
    • AJAX Tutorials
    • ASP Tutorials
    • C# Tutorials
    • CGI and Perl Tutorials
    • CSS Tutorials
    • Flash Tutorials
    • HTML Tutorials
    • Illustrator Tutorials
    • Java Tutorials
    • JavaScript Tutorials
    • Linux Tutorials
    • Miscellaneous Tutorials
    • MySQL Tutorials
    • Photoshop Tutorials
    • PHP Tutorials
    • Python Tutorials
    • Wireless Tutorials
    • WordPress Tutorials
    • XML Tutorials
  • Scripts
    • AJAX Scripts
    • ASP Scripts
    • ASP.NET Scripts
    • CGI & Perl Scripts
    • Flash Scripts
    • Java Scripts
    • JavaScript Scripts
    • PHP Scripts
    • Python Scripts
    • Remotely Hosted
    • Tools and Utilities
    • XML Scripts
  • Answers
  • Online Services
  • Tools

How to Install MySQL 5.0 on Linux

By Richard Laffers | on Dec 19, 2007 | 0 Comment
Linux Tutorials
  • Tweet
  • Share
  • Tweet
  • Share

MySQL 5.0 installation

Since Apache and MySQL servers must be installed prior to the PHP
installation, I recommend installing the triad in this order: MySQL,
Apache, PHP. You may well have some MySQL server already installed – in
that case you can skip directly to the Apache 2 installation. However, it’s a good idea to reinstall everything, in order to have the most recent versions of the software.

There are several options for how to install MySQL:

  • using YaST
    – the easiest and fastest way. However, the version of MySQL bundled
    with SuSE installation is usually NOT the best (i.e. the most recent)
    available,
  • RPM installation – supposedly
    also fast and simple, I’ve never tried though. The only drawback here
    is that MySQL is not installed into a single destination – it’s
    scattered across several directories. I like to keep things tidy, so I
    skipped this option,
  • installing binaries
    – downloading precompiled files from the mysql.com website, copying
    them into a directory of your choice, and doing some simple
    configuration. I tried this, but it didn’t work for me – for some
    reason the MySQL server wouldn’t start,
  • installing from source
    – I would recommend this. Yes, it takes some time and effort, but you
    will get the most recent MySQL installed in a single location on your
    system, and everything will be configured according to your needs.

The rest of this chapter deals with the 4th option – the installation of MySQL from the source.

prerequisites

Make sure you have superuser (root) privileges and user "mysql" already exists in your system. If not, create one:

# groupadd mysql
# useradd -g mysql mysql

This will be the default user under which the MySQL server will be running.

download the source

First, download MySQL source . You need the mysql-5.0.37.tar.gz tarball file.

unpack, configure, compile

So you have downloaded the mysql-5.0.37.tar.gz file. You know the drill: unpack, configure, make, make install:.

# tar -xzf mysql-5.0.37.tar.gz
# cd mysql-5.0.37
# ./configure --prefix=/usr/local/mysql-5.0.37 --with-charset=utf8 --with-collation=utf8_general_ci
# make
# make install

We used the --with-charset and --with-collation options to set the default character set and collation – otherwise it would have been the default Swedish collation.

I
recommend creating a symbolic link called "mysql" pointing to the MySQL
installation directory, in order to make referring to it from elsewhere
easier:

# ln -s /usr/local/mysql-5.0.37/ /usr/local/mysql

This way we can always refer to MySQL installation directory as /usr/local/mysql . The obvious advantage is that if you install PHP with the --with-mysql=/usr/local/mysql option (see PHP 5 Installation Guide),
it won’t stop working if the name of the MySQL installation directory
changes in the future (if you upgrade your MySQL for instance).

create my.cnf file

To
complete MySQL server installation, you have to create a configuration
file. It offers several security and control options (here you can
limit system resources to be used by MySQL server, set the default
collation and character set etc.). You need not to create a brand new
configuration file – there are 4 pre-made files in the support-files/
directory. Read the information in those files to determine which one
to use. For small servers (e.g. testing servers, or servers of a
limited performance), my-small.cnf file is the best option. Copy the
file of your choice to /etc/my.cnf:

# cp support-files/my-small.cnf /etc/my.cnf
# chown root /etc/my.cnf
# chgrp root /etc/my.cnf
# chmod 644 /etc/my.cnf

We have made sure both the owner and user group of the my.cnf file are "root" and the access privileges are properly set. Finally edit the file:

# vi /etc/my.cnf

Search for [mysqld] clause, and add immediately below it:

user = mysql

We have specified that MySQL service is to be run with user "mysql" privileges.

If you want to use InnoDB databases (what you probably will), uncomment (and perhaps edit) all innodb options in the my.cnf file. Save all changes ( :wq).

additional settings

For proper functioning, MySQL needs a "mysql" database. To create this database, simply run:

# /usr/local/mysql/bin/mysql_install_db --user=mysql

The script will create /usr/local/mysql/var/
directory containing the necessary databases. This directory serves as
a default storage for all databases you will create. Make sure it is
writable by "mysql" system user!

start server, check it, connect

Now you are ready to start your MySQL server for the first time.


# /usr/local/mysql/bin/mysqld_safe --user=mysql &

Hit enter again to get your prompt back. The MySQL server should now be running. To check that server is running and works properly enter

# /usr/local/mysql/bin/mysqladmin version

You should get some response about the server software version.

Connect to MySQL server:

# /usr/local/mysql/bin/mysql -u root

If you get a welcome message and the prompt changes to
mysql>

,
the server works and everything is fine. If this failed for any reason,
it may indicate some problems with your installation/configuration.

set the root password

Now, before you do anything else, set root user’s password (!). Stay connected to MySQL and enter:

DELETE FROM mysql.user WHERE User = '';
FLUSH PRIVILEGES;

SELECT Host, User FROM mysql.user;

Look for the record that has root in the
User

column and something other than
localhost

in the
Host

column. This is the host_name.

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('new_password');
SET PASSWORD FOR 'root'@'host_name' = PASSWORD('new_password');

Remember,
this is the MySQL superuser for all databases. Therefore you should use
a strong password and keep it safe. Later, when you will be writing PHP
scripts, do NOT use superuser for accessing databases! The "root" user
is meant only for administration purposes. After you are finished, exit
MySQL:

quit

restart MySQL server

After everything is set up, restart MySQL server:


# /usr/local/mysql/bin/mysqladmin -u root -p shutdown
# /usr/local/mysql/bin/mysqld_safe --user=mysql &

Voila, your MySQL server is up and running!

automatic startup

Set
up an automatic startup so you don’t need to start MySQL server
manually after each system reboot. Go back to the directory where you
extracted the downloaded mysql tarball file. Enter

# cp support-files/mysql.server /etc/init.d/mysql
# chmod 755 /etc/init.d/mysql
# chkconfig --add mysql
# chkconfig --level 35 mysql on

further reading

MySQL Reference Manual

Installing MySQL 5.0 on Linux

This tutorial explains the installation of Apache web server,
bundled with PHP and MySQL server on a Linux machine. The tutorial is
primarily for SuSE 9.2, 9.3, 10.0 & 10.1 operating systems, but
most of the steps ought to be valid for all Linux-like operating
systems.

Share this story:
  • tweet

Author Description

 

No Responses to “How to Install MySQL 5.0 on Linux”

You must be logged in to post a comment.

Connect With Us

RSSSubscribe 0Followers 496Likes
  • Popular
  • Recent
  • Comments
  • Creating Energy Spheres in Photoshop

    Apr 15, 2008 - 96 Comments
  • Easy Screen Scraping in PHP with the Simple HTML DOM Library

    Aug 6, 2008 - 20 Comments
  • Calculating date difference more precisely in PHP

    Mar 7, 2008 - 13 Comments
  • When Does Hosting Your Website in the Cloud Make Sense?

    Oct 8, 2010 - 2 Comments
  • Fun with the Microsoft Managed Extensibility Framework Part 2

    Oct 6, 2010 - 0 Comment
  • Fun with the Microsoft Managed Extensibility Framework Part 1

    Sep 22, 2010 - 0 Comment
  • Website Management on the go with the iPad

    I appreciated your post, but I was looking for something I didn't...
    November 24, 2012 - drmoderator
  • Creating Energy Spheres in Photoshop

    I'm a little stuck down here especially at the step of creating the...
    November 23, 2012 - sarah
  • Running background processes in PHP

    Can you give an example? As see it, you can use this only when you...
    November 16, 2012 - Shaked Klein Orbach
Developer Resources
  • Tutorial Directory
  • Learn HTML
  • Learn PHP
  • Learn CSS
  • Learn AJAX
  • Learn JavaScript
  • Learn Pear
  • White Papers
  • Resources
    • NetVisits Web Directory
    • Realtor Pixels
    • Answers On The Run
    • Ask A Geek
  • Recent Posts

    • When Does Hosting Your Website in the Cloud Make Sense?
    • Fun with the Microsoft Managed Extensibility Framework Part 2
    • Fun with the Microsoft Managed Extensibility Framework Part 1
    • Website Management on the go with the iPad
    • Code Contracts in C# 4.0 – Part 1

    Calendar

    June 2013
    M T W T F S S
    « Oct    
     12
    3456789
    10111213141516
    17181920212223
    24252627282930

    Recent Comments

    • drmoderator on Website Management on the go with the iPad
    • sarah on Creating Energy Spheres in Photoshop
    • Shaked Klein Orbach on Running background processes in PHP
    • Thomas Cuvillier on How To Upload Files Using PHP
    • rizal aditya on Extracting text from Word Documents via PHP and COM
    • Home
    © 2003 - 2013 DeveloperTutorials.com. All Rights Reserved. Privacy Policy.