ホームページ >データベース >mysql チュートリアル >同じサーバーに複数の MySQL をインストールする方法

同じサーバーに複数の MySQL をインストールする方法

WBOY
WBOY転載
2023-05-29 12:10:272714ブラウズ

1. インストール前の準備

MySQL の複数のインスタンスをインストールする前に、次の準備が必要です:

  1. 複数の MySQL インストール パッケージを準備します。MySQL 公式 Web サイトから環境に適したバージョンをダウンロードできます: https://dev.mysql.com/downloads/

  2. 複数の MySQL データを準備します/data/mysql1、/data/mysql2 など、さまざまな MySQL インスタンスをサポートするためのさまざまなディレクトリを作成できます。

  3. MySQL インスタンスごとに、対応する MySQL インストール パスとデータ ディレクトリ権限を持つ独立した MySQL ユーザーを構成します。

2. バイナリ パッケージに基づいて複数の MySQL インスタンスをインストールする

バイナリ パッケージに基づいて複数の MySQL インスタンスをインストールする手順は次のとおりです。

  1. ##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

  1. データ ディレクトリの初期化

mysql_install_db コマンドを使用して初期化した後、各 MySQL インスタンスには独自の独立したデータ ディレクトリが必要です。 mysql1 および mysql2 インスタンスを初期化するコマンドは次のとおりです:

$ cd mysql1

$ 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

  1. MySQL サービスのインストール

MySQL インスタンスごとに、mysqld_safe コマンドを使用して MySQL サービスをインストールする必要があります。次は、mysql1 と mysql1 をインストールするコマンドです。 mysql2 インスタンス:

$ cp support-files/mysql.server /etc/init.d/mysql1

$ 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

  1. MySQL インスタンスの構成

MySQL インスタンスごとに、独立した構成ファイル my.cnf が必要です。 MySQL インストール ディレクトリに my.cnf ファイルを作成します。my.cnf ファイルの例は次のとおりです:

[mysqld]

datadir=/data/mysql1
socket=/share/ tmp/mysql1.sock
port = 3306
user=mysql
log-error=/data/mysql1/mysql.err
pid-file=/share/tmp/mysql1.pid

以下は mysql2 インスタンスの構成です

[mysqld2]

datadir=/data/mysql2
socket=/share/tmp/mysql2.sock
port = 3307
user=mysql
log-error=/data /mysql2/mysql.err
pid-file=/share/tmp/mysql2.pid

  1. MySQL ユーザーの構成

次のコマンドを使用して MySQL ユーザーを作成し、対応するディレクトリ権限を付与します:

$ useradd -r -g mysql -s /bin/false mysql1

$ 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 環境の準備
  1. まずサーバーに Docker 環境をインストールし、MySQL の Docker イメージをプルする必要があります。 MySQL イメージの最新バージョン:

$ docker pull mysql/mysql-server: 最新

    MySQL コンテナの開始
  1. 複数の MySQL コンテナを起動することで複数のインスタンスのニーズを満たすことができ、異なるポート、データ ボリューム、構成ファイルを指定して異なるインスタンスを区別することができます。以下は、2 つの異なる MySQL インスタンスを起動するコマンドの例です:

$ 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

    MySQL インスタンスの構成
  1. 異なるコンテナーで異なるマウントそれぞれデータ ボリュームがあり、各データ ボリュームには特定の構成ファイル my.cnf が含まれています。以下は my.cnf の例です。

以下は mysql1 インスタンスの構成です

[mysqld]

datadir = /var/lib/mysql

socket = /var/run/mysqld/mysqld.sock

注: この設定は MySQL 5.7 以前のバージョンでのみ有効です

symbolic-links = 0

カスタマイズされた MySQL 構成

[mysqld]

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

以下は mysql2 インスタンスの構成です

[mysqld2]
datadir = /var/lib/mysql
socket = /var/run/mysqld/mysqld.sock
シンボリックリンク = 0

カスタマイズされた MySQL 構成

[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

  1. 複数の 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 サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。