同時運行多個 MySQL

有時需要在不同 MySQL 版本間做測試, 如果要在伺服器內重啟 MySQL 切換版本做測試會很麻煩, 以下紀錄一下在伺服器內安裝兩個 MySQL 同時運行, 當然如果有需要, 也可以按此方法安裝 2 個以上的 MySQL。

以下假設第一個 MySQL Server 已經正常運作, 下面全是安裝第二個 MySQL Server 的步驟:

1. 建立 MySQL 資料庫目錄:

# mkdir /var/lib/mysql2
# chown mysql.mysql /var/lib/mysql2

2. 建立 my2.cnf

# cp -p /etc/my.cnf /etc/my2.cnf

3. 將 my2.cnf 的設定修改, 以免與第一個 MySQL Server 發生衝突, 最起碼要修改資料庫目錄, socket, port, pid:

[mysqld]
datadir=/var/lib/mysql2
socket=/var/lib/mysql/mysql2.sock
port=3307

[mysqld_safe]
log-error=/var/log/mysqld2.log
pid-file=/var/run/mysqld/mysqld2.pid


4. 初始資料庫安裝:

mysql_install_db –user=mysql –datadir=/var/lib/mysql2

5. 安裝好第二個 MySQL Server 後, 現在啟動 MySQL:

mysqld_safe –defaults-file=/etc/my2.cnf &

啟動後用 netstat 檢查一下埠號 3307 (上面的 my2.cnf 設定使用 3307 埠號)是否被 MySQL 使用:

netstat -tanp |grep 3337

如果沒有問題, 可以使用 mysql client 嘗試連接第二個 MySQL:

mysql -u root -p -h localhost -p 3307

6. 停止第二個 MySQL 用以下指令:

mysqladmin -S /var/lib/mysql/mysql2.sock shutdown -p

7. 如果可以正常啟動及停止第二個 MySQL, 可以建立一個簡單的 MySQL 啟動 shell script,


Leave a Reply