Creating an Intermediate Replication Layer

July 15th, 2008

A few weeks ago, I discussed how to keep binlogs in sync in a tree or pyramid replication scheme. That thread discussed how to re-distribute load in case of failure in one of the intermediate slaves. Today we will look at how to create those intermediate replication slaves. We start with a traditional flat replication scheme and promote several servers into the intermediate layer. (more…)

Lotame is looking for a Database Engineer

June 27th, 2008

Lotame Solutions, Inc. is always looking for talented individuals. We have many openings in our Technology group, but the one I’m most interested in filling is the newly opened Database Engineer position. The Database Engineer will work with me to maintain Lotame’s entire database infrastructure - including design, development, testing, implementation, monitoring and support.

Interested parties should submit their resume and contact information to:
SELECT CONCAT_WS('@','jobs','lotame.com');
Include “Database Engineer” in the subject line.

This position is in the Baltimore, MD area.

How to Keep Binlogs in Sync?

June 24th, 2008

When you are using pyramid replication scheme - it could be useful to have n+1 intermediate servers. The idea is to have extra bandwidth in case one of those intermediate slaves fails. For example, if you have 3 intermediate slaves named A,B and C and you have 18 end slaves named 1-18: (more…)

MySQL Event Scheduler - Is it Enterprise Ready?

June 2nd, 2008

I have been taking a serious look at the event scheduler in MySQL 5.1, and I thought I would share some of my initial impressions. There is no doubt that having an event scheduler is a great bonus for the database. It’s usefulness in the enterprise, however, may be limited. While we are preparing to move forward with it, it hasn’t been without struggle. I will describe the pros and cons we’ve encountered so far. (more…)

pre-compiled binaries in your PATH

April 16th, 2008

I prefer to install mySQL using the pre-compiled binaries. Depending on the environment, these usually go in either /opt or /usr/local. When you choose this type of install, chances are you are going to need to ensure that you somehow configure your system so that the mysql binaries end up in your PATH.

If you are using RedHat or CentOS, a good way to do this is to add a custom file inside of the /etc/profile.d/ directory. I create one called “mysql.sh”:

if ! echo ${PATH}|> | /bin/grep -q /opt/mysql/bin ; then
        PATH=/opt/mysql/bin:${PATH}|>
fi

This script simply checks you PATH for mysql and adds it if it’s not already there.

If you are using Ubuntu, you can edit /etc/environment:

PATH="/usr/local/bin:/usr/bin:/bin:/opt/mysql/bin"
LANG="en_US.UTF-8"

You can see that I’ve just added “:/opt/mysql/bin” to the end of the PATH line.

There are lots of other ways to do this, and I’m sure some distributions not covered here do it differently. If you know of a different or better way, I look forward to your comments.