同時安裝 MySQL 及 MariaDB

MariaDB 是 MySQL 的替代產品, 也是 RHEL 7 及 CentOS 7 的預設資料庫系統。有時需要在 MariaDB 及 MySQL 之間做測試, 或者在不同版本 MySQL 之間做測試, 同時安裝及運行 MariaDB 及 MySQL 會很方便, 以下紀錄一下在主機內同時安裝 MariaDB 及 MySQL 運行, 當然如果有需要, 也可以按此方法安裝 2 個以上的 MySQL, 而方法同樣適用於 Percona Server。

首先用一般的方法安裝 MariaDB, 可以參考以下文章:

Redhat / Centos 7 安裝 MariaDB Server
Debian / Ubuntu 安裝 MariaDB 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 的設定修改, 以免與 MariaDB 發生衝突, 最起碼要修改資料庫目錄, 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