技術共有

Linux で複数の mysql データベースを開き、パスワードとポートを個別に設定する方法

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Linux システムでは、デフォルトで MySQL (または人気のある MySQL フォークである MariaDB) は、同じマシン上で複数の MySQL インスタンスを実行することを直接サポートしていません。各インスタンスは異なるポートと独立したパスワード システムを使用します。ただし、複数の MySQL インスタンス (マルチインスタンスとも呼ばれます) を構成することでこれを実現できます。これには通常、インスタンスごとに異なるポート、データ ディレクトリ、構成ファイル、場合によってはユーザー権限の構成が含まれます。

複数の MySQL インスタンスを構成するための基本的な手順は次のとおりです。

1. 準備

MySQL がインストールされていることを確認してください。このガイドでは MySQL を使用していることを前提としていますが、MariaDB を使用している場合でも、手順は非常に似ています。

2. 新しいデータ ディレクトリを作成します。

MySQL インスタンスごとに新しいデータ ディレクトリを作成します。

sudo mkdir -p /data/mysql1 /data/mysql2
sudo chown -R mysql:mysql /data/mysql1 /data/mysql2

ここ/data/mysql1そして/data/mysql2は 2 つの異なるインスタンスのデータ ディレクトリです。

3. 設定ファイルをコピーして変更します。

MySQL のデフォルトの構成ファイルは通常、/etc/my.cnf(または/etc/mysql/my.cnfディストリビューションに応じて異なります)。インスタンスごとに新しい構成ファイルを作成する必要があります。

  • プロファイル テンプレートをコピーします (存在しない場合は、デフォルトの構成から作成できます)。
sudo cp /etc/my.cnf /etc/mysql1.cnf
sudo cp /etc/my.cnf /etc/mysql2.cnf
  • 各構成ファイルの次のセクションを変更します。

    • [mysqld]セクションの設定datadir新しく作成されたデータ ディレクトリの場合 (例:/data/mysql1または/data/mysql2)。
    • 異なる設定をするport(たとえば、最初のインスタンスは 3306 を使用し、2 番目のインスタンスは 3307 を使用します)。
    • 設定が必要な場合もありますsocketパスが一意であることを確認します。
    • (オプション) 設定userそしてlog_errorインスタンスが独立して実行されるようにするためのその他のオプション。

4. データ ディレクトリを初期化します (まだ初期化されていない場合)。

新しい MySQL インスタンスの場合は、データ ディレクトリを初期化する必要があります。これには通常、ランニングが含まれますmysqld --initializeまたはmysql_install_db (MySQL のバージョンによって異なります)。これにより、既存のデータが上書きされる可能性があることに注意してください。

sudo mysqld --initialize --user=mysql --datadir=/data/mysql1
sudo mysqld --initialize --user=mysql --datadir=/data/mysql2

5. MySQL インスタンスを起動します

インスタンスごとに起動スクリプトを作成するか、次のコマンドを使用する必要があります。systemdユニットファイルを使用して管理します。これは多くの場合複雑であり、特定のニーズとシステム環境に基づいてカスタマイズする必要があります。

簡素化されたアプローチは次のとおりですmysqld_safeまたはコマンドラインから直接実行しますmysqld, ただし、これは運用環境には適していません。

6. パスワードと権限を設定する

各インスタンスには、初期化後にデフォルトの root パスワードが設定されます (MySQL 5.7.6 以降)。インスタンスごとに独立したパスワードとユーザー権限を設定する必要があります。

  • 各インスタンスにログインします (次を使用)--socketそして--portオプション)。
  • 使用ALTER USERroot パスワードを設定するステートメント。
  • 新しいユーザーを作成し、承認します。

7. 保守と監視

複数の MySQL インスタンスを維持するために、監視とバックアップの戦略が適切に設定されていることを確認してください。

知らせ

  • 上記の手順は概要であり、特定の環境に合わせて調整する必要がある場合があります。
  • 複数の MySQL インスタンスを実行すると、システムが複雑になり、リソースの消費が増加する可能性があります。
  • システムのファイアウォールとネットワーク構成で、適切なポートから各インスタンスへのアクセスが許可されていることを確認してください。