最近有好多的朋友在使用MySQL的時候遇到這樣的問題:原本在服務器中裝有比較老版本的MySQL,如5.1,5.5等等。應某些業務需要,不得不安裝更新的版本,如5.6或5.7或更高。
這樣的話,就勢必會面臨下述諸多的問題:
1.我們到底使用哪個版本的程序來啓動MySQL服務?
2.MySQL進程是否會有衝突?
3.如何控制不同版本所監聽的套接字?
於是,我便開始了嘗試,經過了若干次的失敗,最終實現了這樣的要求,只是實現的還是比較粗糙和簡陋,各實例的配置文件和服務啓動腳本之類的還有待於進一步完善。
實驗步驟如下:
實驗環境:
操作系統:RHEL6.0 32位
MySQL版本:5.5.48 和 5.6.29
MySQL的安裝路徑:
5.5.48:/usr/local/second/mysql
5.6.29:/usr/local/mysql
MySQL的數據路徑:
5.5.48:/mydata/data/3306 和/mydata/data/3307
5.6.29:/mydata/data/3308 和/mydata/data/3309
/mydata是一個邏輯卷的掛載點,即:MySQL的數據目錄在邏輯捲上
安裝MySQL多實例
cd /usr/local/mysql/
scripts/mysql_install_db --user=mysql --datadir=/mydata/data/3306/
scripts/mysql_install_db --user=mysql --datadir=/mydata/data/3307/
cd /usr/local/second/mysql
scripts/mysql_install_db --user=mysql --datadir=/mydata/data/3308/
scripts/mysql_install_db --user=mysql --datadir=/mydata/data/3309/
準備配置文件
mysqld_multi --example > /mydata/data/multi.cnf #提供多配置文件模板
mv /mydata/data/multi.cnf /mydata/data/multi55.cnf /mydata/data/multi55.cnf
cp /mydata/data/multi55.cnf /mydata/data/multi56.cnf
爲配置文件提供配置信息
vim /mydata/data/multi55.cnf #將配置文件中的內容替換爲如下所示:
vim /mydata/data/multi56.cnf #將配置文件中的內容替換爲如下所示:
以上是簡易的配置文件。這個配置文件只能讓MySQL啓動起來。需要更多的配置的話,直接添加到相應的字段中即可。
簡易服務啓動腳本樣例
如果想要設置服務的自動啓動,請自行添加chkconfig和description字段
啓動服務
service mysqld start my56 1,2
service mysqld start my55 3,4
查看套接字文件的創建情況
監控服務啓動狀態