MySQL多實例是指安裝MySQL之后,我們可以在一臺Linux服務器上同時啟動多個MySQL數據庫(實例),不需要安裝多個MySQL;如果是有多臺Linux服務器,那么我們需要每臺服務器都分別安裝MySQL;
在一臺Linux服務器上啟動多個MySQL數據庫(實例),通過為各個數據庫實例配置獨立的配置文件來實現,即每個數據庫實例有自己單獨的配置文件;
1、在MySQL安裝主目錄下創建/data/3307, /data/3308, /data/3309, /data/3310四個目錄;
2、執行數據庫初始化,在MySQL的/usr/local/mysql-5.7.18/bin目錄下執行命令:
./mysqld --initialize-insecure --basedir=/usr/local/mysql-5.7.18 --datadir=/usr/local/mysql-5.7.18/data/3307 --user=mysql
./mysqld --initialize-insecure --basedir=/usr/local/mysql-5.7.18 --datadir=/usr/local/mysql-5.7.18/data/3308 --user=mysql
./mysqld --initialize-insecure --basedir=/usr/local/mysql-5.7.18 --datadir=/usr/local/mysql-5.7.18/data/3309 --user=mysql
./mysqld --initialize-insecure --basedir=/usr/local/mysql-5.7.18 --datadir=/usr/local/mysql-5.7.18/data/3310 --user=mysql
3、在/data/3307, /data/3308, /data/3309, /data/3310 四個目錄下分別創建一個my.cnf文件;
4、配置四個MySQL數據庫服務的my.cnf文件
[client]
port = 3307
socket = /usr/local/mysql-5.7.18/data/3307/mysql.sock
default-character-set=utf8
[mysqld]
port = 3307
socket = /usr/local/mysql-5.7.18/data/3307/mysql.sock
datadir = /usr/local/mysql-5.7.18/data/3307
log-error = /usr/local/mysql-5.7.18/data/3307/error.log
pid-file = /usr/local/mysql-5.7.18/data/3307/mysql.pid
character-set-server=utf8
lower_case_table_names=1
autocommit = 1