Running Multiple Instances of MySQL in CentOS/Fedora/RedHat Linux
1. Make sure that you have installed mysql-server in your Linux , If not install it with
yum install –y mysql-server
2. After installing MySQL-Server , Open your terminal and paste as
mkdir /var/lib/mysql2
chown -R mysql.mysql /var/lib/mysql2
mkdir /var/log/mysql2
chown -R mysql.mysql /var/log/mysql2
Above code stands for creating two directories for MySQL 2nd instance , There /var/lib/mysql2 for data directory and /var/log/mysql2 is for log directory. After that changing the owner as mysql for both.
3. Make a dump of mycnf configuration file with
cp -R /etc/my.cnf /etc/my2.cnf
nano /etc/my2.cnf (or ) vim /etc/my2.cnf
Make the changes as mentioned in the below file.
# change/add the following options
port = 3307 #different port
datadir = /var/lib/mysql2 #diff data dir
socket = /var/lib/mysql2/mysql2.sock # diff socket path
# add [mysql_safe]
log-error = /var/log/mysql2/mysql.log # diff log
pid-file = /var/lib/mysql2/mysql2.pid #diff PI
Then save & close it.
4. Now in the terminal paste these lines after one , with success of each command
mysql_install_db --user=mysql --datadir=/var/lib/mysql2/
mysqld_safe --defaults-file=/etc/my2.cnf &
mysqladmin -S /var/lib/mysql2/mysql2.sock -u root password 'newpass'
mysql -S /var/lib/mysql2/mysql2.sock -u root -p
5 5. That will start your MySQL 2ndinstance and you can check it with
netstat -nptelu | grep my
netstat -l | grep my
6 6. If you want to shutdown that instance then you can do it with
mysqladmin -S /var/lib/mysql2/mysql2.sock -u root -p shutdown