場合によっては、単一のサーバーで複数のMySQLインスタンスを実行する必要があります。たとえば、ステージング、テスト、および本番用にさまざまなMySQLインスタンスをテストする必要がある場合があります。この記事では、同じマシンで複数のMySQLインスタンスを実行する方法を説明しますが、異なるログファイルと構成パラメーターを使用して異なるポートを使用します。
同じマシンで複数のMySQLインスタンスを実行する方法
同じマシンで複数のMySQLインスタンスを実行する手順は次のとおりです。
1。 MySQL構成ファイルを開きます
通常、MySQL構成ファイルは /etc/mysql/my.cnfにあります。 。ターミナルを開き、次のコマンドを実行してMySQL構成ファイルを開きます。
$ sudo vi /etc/mysql/my.cnf
2。複数のMySQLインスタンスを構成する
デフォルトのMySQL構成は、以下に示すものと似ています。
[mysqld] user = mysql pid-file = /var/run/mysqld/mysqld.pid socket = /var/run/mysqld/mysqld.sock port = 3306 datadir = /data/mysql/mysql
上記のコードブロックをコピーして、同じファイルに貼り付けます。置換[mysqld] [ mysqld1]を使用 ポート値を3307に変更します。これにより、新しいインスタンスが mysqld1になります。 別のプロセス名mysqld1を使用して別のポート3307で実行します。同様に、pid-file、socket、datadir変数のファイル名を次のように変更します。
以下の各インスタンスのdatadirフォルダーを必ずコピーしてください。 また、ユーザーが mysqlであることを確認してください ユーザーにはアクセス許可があります。各インスタンスには独自のデータディレクトリが必要です。
[mysqld1] user = mysql pid-file = /var/run/mysqld/mysqld1.pid socket = /var/run/mysqld/mysqld1.sock port = 3307 datadir = /data/mysql/mysql1
今mysqld1 mysqldとは別のインスタンスとして実行されます
同様に、以下に示すように、さらに多くのインスタンスを作成できます
[mysqld2] user = mysql pid-file = /var/run/mysqld/mysqld2.pid socket = /var/run/mysqld/mysqld2.sock port = 3308 datadir = /data/mysql/mysql2 .... [mysqldN] user = mysql pid-file = /var/run/mysqld/mysqldN.pid socket = /var/run/mysqld/mysqldN.sock port = N datadir = /data/mysql/mysqlN
インスタンスごとに異なるpidファイル、ソケットファイル、データディレクトリを指定し、ユーザーが mysqlであることを確認してください。 mysql のため、ディレクトリ権限が必要です ユーザーは必要なファイルとディレクトリを作成できる必要があります。
3。複数のインスタンスを管理する
mysqld を使用して、各インスタンスを個別に開始できます。 以下のコマンド。 mysqlNを置き換えます 選択したインスタンス(例:mysql1、mysql2など)
mysqld --initialize --user=mysql --datadir=/home/mysql/mysqlN
何らかの理由で上記の構成が機能しない場合は、my.cnfファイルを /etc/my.cnfにコピーします。 場所を確認して、再試行してください。場合によっては、mysqlは /etc/mysql/my.cnfで構成された複数のインスタンスを登録しません。
$ sudo cp /etc/mysql/my.cnf /etc/my.cnf
コマンドラインから特定のインスタンス(mysqld1など)にログインする場合は、-Sオプションを使用してそのソケットファイルの場所を指定する必要があります。それ以外の場合は、デフォルトのMySQLインスタンスにログインします。
mysql -u root -p -S /var/run/mysqld/mysqld1.sock
この記事が、同じサーバー上で複数のMySQLインスタンスを構成および管理するのに役立つことを願っています。
MySQL用のレポートツールが必要ですか? Ubiqを使用すると、データを数分で簡単に視覚化し、リアルタイムのダッシュボードで監視できます。今日お試しください。