Hardware Secrets
Home | Camera | Case | CE | Cooling | CPU | Input | Memory | Mobile | Motherboard | Networking | Power | Storage | Video | Other
First Look
Gabriel’s Blog
Main Menu
About Us
Awarded Products
Manufacturer Finder
RSS Feed
Test Your Skills
Subscribe today!
Networking Bible
Networking Bible, by Barrie Sosinsky (Wiley), starting at $22.68
Home » Networking
How to Build a Web Server with PHP 5 and MySQL 5 Support
Author: Gabriel Torres 83,413 views
Type: Tutorials Last Updated: April 19, 2007
Page: 3 of 5
Configuring and Installing MySQL 5

This step is required because PHP 5 does not bring embedded MySQL support anymore. Even if you are not installing a MySQL 5 server on the same server as your web server, this step is required in order to install MySQL 5 client, in order to allow PHP 5 to connect to MySQL 5 servers.

The first thing you need to know is that MySQL 5 does not bring separated packages for client and server configurations, like MySQL 4 – everything is inside the same package. Also, the procedure for installing a MySQL client is different from installing a MySQL server.

If you don’t want a MySQL 5 server running on the same server as your web server – which is desirable for large websites, i.e., you will have one web server running Apache + PHP and another server running exclusively MySQL – you will need to install only a ”client“ version of MySQL 5.

If you want a MySQL 5 server running on the same server as your web server, then you will need to install the whole MySQL 5 server.

The procedure for these two scenarios is quite different, so you need to know which path to take.

Anyway, for both scenarios the first thing you need to do is to uninstall any MySQL version you may already have installed on your server.

On Debian you can do this by running (assuming that the old version was 4.1, of course):

apt-get remove mysql-server-4.1
apt-get remove mysql-client-4.1

On Fedora you can do this by running:

rpm -e <module_name>

With rpm -qa | grep MySQL you can find out the MySQL modules you have installed and that you will need to remove.

You can also, just in case, move the old MySQL libraries that may be left in the system to a backup location, with:

mv /usr/lib/libmysql* /root

So if anything goes wrong you still have these files.

Here comes the tricky part. If you want to install just MySQL 5 client, you will need to download the source code. The problem is that the source code is the last thing on MySQL  downloads page, and a lot of people download the binaries instead, which contains MySQL server, not the client.

If you want to install MySQL 5 server on the same server as your web server, you will need to download both the source code and the binaries. Of course you can compile the source code to get the binaries done, however here is a important trick: according to MySQL website, if your server is based on an Intel CPU, the binaries compiled with Intel compiler will make your MySQL 5 server to run 20% faster than installing the standard binaries compiled with gcc. Since our server was a dual-Xeon, we preferred to download the Intel-compiled version rather than compiling MySQL 5 by ourselves.

So, for both scenarios you will need to create MySQL 5 client. As we mentioned, this is done by downloading the MySQL 5 source code at http://dev.mysql.com/downloads/mysql/5.0.html – it is the very bottom of this page. Download the ”Compressed GNU TAR archive (tar.gz)“ version.

The downloading, configuration and installation sequence would be the following:

cd /root
wget http://dev.mysql.com/get/Downloads/MySQL-5.0/mysql-5.0.37.tar.gz/from/http://mysql.orst.edu/
tar -xvzf mysql-5.0.37.tar.gz
cd mysql-5.0.37
./configure --without-server
make install

You can check if your installation was successfully done by checking if the new mysql libraries were installed at /usr/lib:

ls /usr/lib/libmysql*

The output should be something like this:

/usr/lib/libmysqlclient_r.so.15      /usr/lib/libmysqlclient.so.15
/usr/lib/libmysqlclient_r.so.15.0.0  /usr/lib/libmysqlclient.so.15.0.0

If you can’t find these files or if they are using a version lower than 15, you must redo the above procedures, making sure to run make clean before starting over.

Now your MySQL 5 client is installed. The next step is installing MySQL 5 server, if you want to have a MySQL 5 server on the same server as your web server. MySQL 5 server installation is quite easy.

Download the compiled binaries from http://dev.mysql.com/downloads/mysql/5.0.html and install them. As we said before, if your server is based on an Intel CPU, you should download the ”Linux (non rpm, Intel C/C++ compiled, glibc-2.3) downloads“ version. That is the version we downloaded, so the step-by-step of installing this package would be the following:

cd /root
wget http://dev.mysql.com/get/Downloads/MySQL-5.0/mysql-5.0.37-linux-i686-icc-glibc23.tar.gz/from/http://mysql.orst.edu/
tar -xvzf mysql-5.0.37-linux-i686-icc-glibc23.tar.gz
mv mysql-5.0.37-linux-i686-icc-glibc23 mysql
groupadd mysql
useradd -g mysql mysql
mv mysql /usr/local
cd /usr/local/mysql
scripts/mysql_install_db --user=mysql
chown -R root  .
chown -R mysql data
chgrp -R mysql .
bin/mysqld_safe --user=mysql &

Note the path where MySQL will be installed: /usr/local/mysql.

Edit /etc/profile and add :/usr/local/mysql/bin at the end of the PATH statement.

Print Version | Send to Friend | Bookmark Article « Previous |  Page 3 of 5  | Next »

Related Content
  • All Opteron Models
  • All Xeon Models
  • How to Optimize a MySQL Server
  • Supermicro X9DRL-EF Motherboard
  • Migrating to Apache 2.4

  • RSSLatest Content
    ASRock FM2A88X-ITX+ Motherboard
    April 27, 2015 - 2:40 AM
    GeForce GTX TITAN X Video Card Review
    April 22, 2015 - 4:00 AM
    A10-7800 CPU Review
    April 6, 2015 - 2:50 AM
    Samsung Galaxy A5 Smartphone Review
    March 31, 2015 - 2:47 AM
    A10-6800K vs. Core i3-4150 CPU Review
    March 25, 2015 - 3:15 AM
    Core i7-5960X CPU Review
    February 24, 2015 - 3:00 AM

    2004-15 Clube do Hardware, all rights reserved.
    Advertising | Legal Information | Privacy Policy
    All times are Pacific Standard Time (PST, GMT -08:00)