プライベートな連絡先の最初の情報
送料メール:
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Linux システムでは、デフォルトで MySQL (または人気のある MySQL フォークである MariaDB) は、同じマシン上で複数の MySQL インスタンスを実行することを直接サポートしていません。各インスタンスは異なるポートと独立したパスワード システムを使用します。ただし、複数の MySQL インスタンス (マルチインスタンスとも呼ばれます) を構成することでこれを実現できます。これには通常、インスタンスごとに異なるポート、データ ディレクトリ、構成ファイル、場合によってはユーザー権限の構成が含まれます。
複数の MySQL インスタンスを構成するための基本的な手順は次のとおりです。
MySQL がインストールされていることを確認してください。このガイドでは MySQL を使用していることを前提としていますが、MariaDB を使用している場合でも、手順は非常に似ています。
MySQL インスタンスごとに新しいデータ ディレクトリを作成します。
sudo mkdir -p /data/mysql1 /data/mysql2 | |
sudo chown -R mysql:mysql /data/mysql1 /data/mysql2 |
ここ/data/mysql1
そして/data/mysql2
は 2 つの異なるインスタンスのデータ ディレクトリです。
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
インスタンスが独立して実行されるようにするためのその他のオプション。新しい MySQL インスタンスの場合は、データ ディレクトリを初期化する必要があります。これには通常、ランニングが含まれますmysqld --initialize
またはmysql_install_db
(MySQL のバージョンによって異なります)。これにより、既存のデータが上書きされる可能性があることに注意してください。
sudo mysqld --initialize --user=mysql --datadir=/data/mysql1 | |
sudo mysqld --initialize --user=mysql --datadir=/data/mysql2 |
インスタンスごとに起動スクリプトを作成するか、次のコマンドを使用する必要があります。systemd
ユニットファイルを使用して管理します。これは多くの場合複雑であり、特定のニーズとシステム環境に基づいてカスタマイズする必要があります。
簡素化されたアプローチは次のとおりですmysqld_safe
またはコマンドラインから直接実行しますmysqld
, ただし、これは運用環境には適していません。
各インスタンスには、初期化後にデフォルトの root パスワードが設定されます (MySQL 5.7.6 以降)。インスタンスごとに独立したパスワードとユーザー権限を設定する必要があります。
--socket
そして--port
オプション)。ALTER USER
root パスワードを設定するステートメント。複数の MySQL インスタンスを維持するために、監視とバックアップの戦略が適切に設定されていることを確認してください。