MySQL多版本多實例的實現

    最近有好多的朋友在使用MySQL的時候遇到這樣的問題:原本在服務器中裝有比較老版本的MySQL,如5.1,5.5等等。應某些業務需要,不得不安裝更新的版本,如5.6或5.7或更高。

    這樣的話,就勢必會面臨下述諸多的問題:

    1.我們到底使用哪個版本的程序來啓動MySQL服務?

    2.MySQL進程是否會有衝突?

    3.如何控制不同版本所監聽的套接字?


    於是,我便開始了嘗試,經過了若干次的失敗,最終實現了這樣的要求,只是實現的還是比較粗糙和簡陋,各實例的配置文件和服務啓動腳本之類的還有待於進一步完善。

    實驗步驟如下:

  1. 實驗環境:

    操作系統: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的數據目錄在邏輯捲上

    wKiom1cVAnLA9OdhAAAvAR7b_2c642.png

  2. 安裝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/

  3. 準備配置文件

    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

  4. 爲配置文件提供配置信息

    vim /mydata/data/multi55.cnf   #將配置文件中的內容替換爲如下所示:

    wKioL1cU_LSh26-DAAA80j3A0S8168.png

    vim /mydata/data/multi56.cnf   #將配置文件中的內容替換爲如下所示:

    wKiom1cU_AfxbainAAA683qelhs055.png

    以上是簡易的配置文件。這個配置文件只能讓MySQL啓動起來。需要更多的配置的話,直接添加到相應的字段中即可。

  5. 簡易服務啓動腳本樣例

    wKioL1cVBpTj545_AAEdmST2JSg872.png

    如果想要設置服務的自動啓動,請自行添加chkconfig和description字段

  6. 啓動服務

    service mysqld start my56 1,2

    service mysqld start my55 3,4

  7. 查看套接字文件的創建情況

    wKioL1cVB0zgXctWAAAOW4MoTG0590.png

  8. 監控服務啓動狀態

    wKiom1cVATHR4oO3AABevxXW3U0477.png

     






發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章