標籤:mysql
最近有好多的朋友在使用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的資料目錄在邏輯卷上
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/7F/28/wKiom1cVAnLA9OdhAAAvAR7b_2c642.png" title="dfpng.png" alt="wKiom1cVAnLA9OdhAAAvAR7b_2c642.png" />
安裝MySQL多執行個體
cd /usr/local/mysql/
scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --mydata/datadir=/mydata/data/3306/
scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --mydata/datadir=/mydata/data/3307/
cd /usr/local/second/mysql
scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --mydata/datadir=/mydata/data/3308/
scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --mydata/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 #將設定檔中的內容替換為如下所示:
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/7F/25/wKioL1cU_LSh26-DAAA80j3A0S8168.png" title="multi55.cnf.png" alt="wKioL1cU_LSh26-DAAA80j3A0S8168.png" />
vim /mydata/data/multi56.cnf #將設定檔中的內容替換為如下所示:
650) this.width=650;" src="http://s1.51cto.com/wyfs02/M00/7F/27/wKiom1cU_AfxbainAAA683qelhs055.png" title="multi56.cnf.png" alt="wKiom1cU_AfxbainAAA683qelhs055.png" />
以上是簡易的設定檔。這個設定檔只能讓MySQL啟動起來。需要更多的配置的話,直接添加到相應的欄位中即可。
簡易服務啟動指令碼範例
650) this.width=650;" src="http://s5.51cto.com/wyfs02/M01/7F/25/wKioL1cVBpTj545_AAEdmST2JSg872.png" title="mysqld.png" alt="wKioL1cVBpTj545_AAEdmST2JSg872.png" />
啟動服務
service mysqld start my56 1,2
service mysqld start my55 3,4
查看通訊端檔案的建立情況
650) this.width=650;" src="http://s4.51cto.com/wyfs02/M02/7F/25/wKioL1cVB0zgXctWAAAOW4MoTG0590.png" title="sock.png" alt="wKioL1cVB0zgXctWAAAOW4MoTG0590.png" />
監控服務啟動狀態
650) this.width=650;" src="http://s4.51cto.com/wyfs02/M02/7F/28/wKiom1cVATHR4oO3AABevxXW3U0477.png" title="netstat.png" alt="wKiom1cVATHR4oO3AABevxXW3U0477.png" />
本文出自 “營運者的家” 部落格,請務必保留此出處http://zhaotianyu.blog.51cto.com/132212/1765224
MySQL多版本多執行個體的實現