Top Nav

Archive | Databases

MySQL 4.1.13 Binary Install To RHEL 3 Taroon

Recent I had to install MySQL on a RHEL 3 server. Normally I’d do this with RPMs but in this case the client needed an install that exactly matched another server which had been installed using the TAR/GZ binary distribution.

Here are the steps used for the install:

1. Download the binary TAR/GZ distribution. In this case it was named mysql-standard-4.1.13-pc-linux-gnu-i686.tar.gz and I downloaded it to /root/archive.

2. Unpack the distribution.

3. The steps provided in the INSTALL-BINARY text file included in the distribution outline the following steps:

Taking these one at a time:

Skip this step. The mysql group already exists so there is no need to add it.

Skip this step. The mysql user already exists so there is no need to add it.

Complete this steps as provided.

Complete these steps as provided.

We’ll skip this step for now since we need to setup an init script for the server.

That’s it for the basic install. Now we need to:

1. Setup an init script and set the mysql server to start on boot.
2. Setup the my.cnf file.
3. Start the mysql server and set initial passwords.
4. Replace default mysql binary with a symlink to the new install.

Now one step at a time:

1. Setup an init script and set the mysql server to start on boot.

The mysql distribution includes a usable init script so we’ll copy it into place:

And then set the service to start on boot:

Now verify that the service will start at runlevels 2 to 5:

Of course it’s never that easy. You’ll also need to edit the /etc/init.d/mysql script, find the line near the top like:

And change it to read:

2. Setup the my.cnf file.

The default RHEL install of mysql which we are not using provided an default my.cnf file. It is workable but we want to be consistent with our production server so we’ll copy it’s my.cnf file to /etc/my.cnf.

If you don’t want to copy the file from another server you can use one of the files provided as part of the mysql distribution in the support-files/ folder.

The my.cnf file that we are using moves the mysql data directroy to /var/lib/mysql.

3. Start the mysql server and set initial passwords.

Now we can start the mysql server with:

And we can set the initial passwords with:

4. Replace default mysql binary with a symlink to the new install.

We want to make sure that we use the new mysql binary instead of the old one. So we’ll remove the old binary and symlink the new one in it’s place.

And that’s it!

0

Increase Max Process Memory Allocation

Use this command to increase the max memory that a single process can use:

Add to /etc/sysctl.conf to reload on each boot.

0

Adding MySQL Users

Here’s the syntax to add a user to MySQL:

0

SQL Join Types

I always have trouble keeping the different types of SQL joins straight in my head so here is a quick reference:

Inner Join – An inner join returns only those records from both tables that have a matching value in the related field. In other words only those records that satisfy the join condition.Inner Join

Outer Joins – Outer joins return records from one table where there are no matching records in the other table. There are three types of outer joins – left outer, right outer, full outer.

Left Outer Join – The left outer join retrieves records from both tables, retrieving all the records from the left table and any records from the right table where the condition values match. If there are no matching values in from the right table, the join still retrieves all the records from the left table. Any columns from the right table that are unmatched are left NULL. Consequently, the resulting recordset often appears to have incomplete records. Outer Left Join

Right Outer Join – The right outer join is similar to the left outer join in that it retrieves all the records from one side of the relationship, but this time it’s the right table. Only records where the condition values match are retrieved from the left. A right outer join returns all the records from the right table, or the many side of a relationship. Right Outer Join

Full Outer Join – The full outer join retrieves all records from both the left and the right table.

Cross Join – A cross join returns what’s known as a Cartesian product. This means that the join combines every row from the left table with every row in the right table.

Self Join – There’s a special type of relationship that’s called a self join. It’s not really a type of join, since you can apply it to any join type. A self join is rather unique in that it involves a relationship with only one table. Instead of relating a table to a second table, the join is based on a relationship based on the same table. You simply reference the table twice and use an alias to avoid confusion.

0

Mysql Password Recovery

Here’s a link to the instruction on how to reset a lost root password for mysql:

http://dev.mysql.com/doc/mysql/en/Resetting_permissions.html

0