一、安裝前的準備工作
在進行MySQL多實例的安裝前,需要以下準備:
#準備多個MySQL的安裝包,可以從MySQL官網下載適合自己環境的版本進行下載:https://dev.mysql.com/downloads/
準備多個MySQL資料目錄,可以透過建立不同的目錄來支援不同的MySQL實例,例如:/data/mysql1、/data/mysql2 等。
針對每個MySQL實例,設定一個獨立的MySQL用戶,該用戶擁有對應的MySQL安裝路徑和資料目錄的權限。
二、基於二進位套件安裝多個MySQL實例
以下是基於二進位套件安裝多個MySQL實例的操作步驟:
解壓縮MySQL安裝套件並重新命名
#將多個MySQL安裝套件解壓縮後,可以將其重新命名為不同的名稱以方便區分,例如:mysql1、mysql2等。
$ tar -zxvf mysql-8.0.22-linux-glibc2.12-x86_64.tar.gz
$ mv mysql-8.0.22-linux-glibc2.12-x86_64 mysql1##$ tar -zxvf mysql-8.0.22-linux-glibc2.12-x86_64.tar.gz
$ mv mysql-8.0.22-linux-glibc2.12-x86_64 mysql2
$ bin/mysqld --initialize --user=mysql --basedir=/share/opt/mysql1 --datadir=/data /mysql1
$ cd ../mysql2
$ bin/mysqld --initialize --user=mysql --basedir=/share/opt/mysql2 --datadir=/data/mysql2
$ cp support-files/mysql.server /etc/init.d/mysql2
$ chmod x /etc/init.d /mysql1
$ chmod x /etc/init.d/mysql2
$ chkconfig --add mysql1
$ chkconfig --add mysql2
$ service mysql1 start
$ service mysql2 start
datadir=/data/mysql1
socket=/share/tmp/mysql1.sock
port = 3306
user=mysql
log-error=/data/mysql1/mysql.err
pid-file=/share/tmp/mysql1.pid
datadir=/data/mysql2
socket=/share/tmp/mysql2.sock
port = 3307
user=mysql
log-error=/data /mysql2/mysql.err
pid-file=/share/tmp/mysql2.pid
$ useradd -r -g mysql -s /bin/false mysql2
$ chown -R mysql:mysql /data/mysql1
$ chown -R mysql:mysql /data/mysql2
$ chown -R mysql:mysql /share/opt/mysql1
$ chown -R mysql :mysql /share/opt/mysql2
三、基於Docker容器安裝多個MySQL實例
-e MYSQL_ROOT_PASSWORD=your_password \
-p 3306:3306 \
-v /data/mysql1:/var/lib/mysql \
-v /share/opt/mysql1:/etc/mysql \
mysql/mysql-server:latest
$ docker run -- name=mysql2 -d \
-e MYSQL_ROOT_PASSWORD=your_password \
-p 3307:3306 \
-v /data/mysql2:/var/lib/mysql \
-v /share/opt /mysql2:/etc/mysql \
mysql/mysql-server:latest
datadir = /var/lib/mysql
socket = /var/run/ mysqld/mysqld.sock
datadir = /var/lib/mysql
socket = /var/run/mysqld/mysqld.sock
port = 3306
#user = mysql
log-error = / var/lib/mysql/mysql.err
pid-file = /var/run/mysqld/mysqld.pid
#
[mysqld2]
datadir = /var/lib/mysql
socket = /var/run/mysqld/mysqld.sock
symbolic-links = 0
[mysqld2]
datadir = /var/lib/mysql
socket = /var/run/mysqld/mysqld.sock
port = 3307
user = mysql
log-error = /var/lib/mysql/mysql.err
pid-file = /var/run/mysqld/mysqld.pid
#使用多個MySQL實例
在配置多個MySQL實例後,可以透過連接到對應的連接埠、使用對應的資料庫實例名稱和配置對應的用戶來使用多個MySQL實例:
mysql -h localhost -u username1 -p -P 3306 -D database1
mysql -h localhost -u username2 -p -P 3307 -D database2
以上是怎麼在同一台伺服器上安裝多個MySQL的詳細內容。更多資訊請關注PHP中文網其他相關文章!