1. インストール前の準備
MySQL の複数のインスタンスをインストールする前に、次の準備が必要です:
複数の MySQL インストール パッケージを準備します。MySQL 公式 Web サイトから環境に適したバージョンをダウンロードできます: https://dev.mysql.com/downloads/
複数の MySQL データを準備します/data/mysql1、/data/mysql2 など、さまざまな MySQL インスタンスをサポートするためのさまざまなディレクトリを作成できます。
MySQL インスタンスごとに、対応する MySQL インストール パスとデータ ディレクトリ権限を持つ独立した MySQL ユーザーを構成します。
2. バイナリ パッケージに基づいて複数の MySQL インスタンスをインストールする
バイナリ パッケージに基づいて複数の MySQL インスタンスをインストールする手順は次のとおりです。
$ 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
3. Docker コンテナに基づいて複数の MySQL インスタンスをインストールします
$ docker pull mysql/mysql-server: 最新
$ docker run --name=mysql1 -d \
-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
以下は mysql1 インスタンスの構成です
socket = /var/run/mysqld/mysqld.sock
注: この設定は MySQL 5.7 以前のバージョンでのみ有効です
カスタマイズされた 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
シンボリックリンク = 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 ユーザー名 1 -p -P 3306 -D データベース 1
mysql -h localhost -u ユーザー名 2 -p -P 3307 -D データベース 2
以上が同じサーバーに複数の MySQL をインストールする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。