The SQL Team has implemented two Dell Desktops for the MySQL replication project. One desktop serves as a master server and the second as a redundant slave. Just as in a RAID 1 setup in a server requiring redundancy by mirroring identical hard drives, both desktop were setup to be as identical as possible. All hardware in both desktops matched except that the hard drives were partitioned a little differently due to a previous class’s usage from the previous semester. Both desktops were wiped clean by loading an Ubuntu v9.04 (Jaunty Jackalope) CD into the drive of each desktop and going through the Ubuntu installation. The language, country, and keyboard layout were chosen. Next, one desktop was to serve as the master server and was named Master accordingly and the same was done for the slave server. The partitions on the hard drives were manually configured to be the same on both master and slave servers. Each hard drive was broken down to three partitions; one for the OS, one for data storage, and one for the memory swap file. Next, the time zone was chosen to be Central Standard Time. Since the team is known to be the SQL team, the account name was set to reflect as such, sqlteam, on both the master and slave servers. Then the same password was setup for both. Afterwards, the installation was left to run its course until it prompted for a system restart.
At system restart, the user is prompted for the username and password. Once logged in, the first thing accomplished were system updates on both the master and slave servers. This was accomplished through the use of Ubuntu’s GUI by clicking on System > Administrator > Update Manager. Updates could have also been done by invoking the following commands at the terminal’s command prompt: “sudo apt-get update” and “sudo apt-get upgrade”. After the updates, the team had to install an application to allow for secure log in from remote sites for management purposes. Secure Shell or SSH was installed on both the master and slave servers for secure remote login and access. The terminal command for this installation was “sudo apt-get install ssh”. From this point, the team went on to install MySQL. To test SSH login remotely the team decided to try and install MySQL remotely after obtaining the IP addresses for both the master and slave server. The tools for remote access and file manipulation utilized were PuTTy and WinSCP, respectively. Using PuTTy on a Windows-based system the team would enter the Host Name or IP address and port number and click OPEN. A terminal-like window will appear prompting for login name and password. Once entered, it is as if being physically at the master or slave servers using the terminal console. At the command prompt, MySQL was installed using the following command in terminal: “sudo apt-get install mysql-server” and “sudo apt-get install php5-mysql”. To be able to connect to MySQL from the internet the team had to edit MySQL’s cnf file by commenting out the line containing “bind-address = 127.0.0.1”.
