MySQL 複数インスタンスマルチインスタンスの概要マルチインスタンスとは何ですか?1 台のサーバー上で、複数のデータベース サービスが実行されます。これらのサービス プロセスは、異なるソケットを介して異なるサービス ポートをリッスンすることで、独自のサービスを提供します。 複数のインスタンスを構成する理由は何ですか?
複数インスタンスの適用シナリオ
複数のインスタンスを構成する1. ソフトウェアをインストールする 具体的な操作: ソフトウェアを解凍し、ディレクトリ名を変更し、PATHパスを変更します 既存のデータベース サービスがあるマシンで複数のインスタンスを実行している場合は、まずデータベース サービスのバージョンが複数のインスタンスをサポートしているかどうかを確認します。サポートしていない場合は、サービスを停止し、複数のインスタンスをサポートするデータベース バージョンをインストールする必要があります。 次に、マルチインスタンスサービスを提供するソフトウェアをインストールします 以下に示すバージョンは、バイナリを使用してインストールされる MySQL 5.7.36 です。その他のインストール方法については、「MySQL のインストール方法」を参照してください。 グループ追加 -r -g 306 mysql ユーザー追加 -g 306 -r -u 306 mysql tar -zxvf mysql-5.7.36-linux-glibc2.12-x86-64.tar.gz ルートディレクトリ /root/mysql-5.7.36-linux-glibc2.12-x86_64 /usr/local/mysql 2. 設定ファイル メイン設定ファイル /etc/my.cnf
vim /etc/my.cnf [mysqld_multi] #複数のインスタンスを起動しますmysqld = /usr/local/mysql/bin/mysqld_safe #プロセスファイルのパスを指定しますmysqladmin = /usr/local/mysql/bin/mysqladmin #管理コマンドのパスを指定しますuser = root #プロセスユーザーを指定します#pass = MySQL@123 #パスワードを指定する必要はありません。初期化時に表示されます[mysqld3306] #インスタンスのプロセス名、3306はサービス番号ですsocket = /tmp/mysql.sock1 #sockファイルのパスと名前を指定しますport = 3306 #ポートを指定しますpid-file = /data/3306/mysqld.pid #プロセスファイルのpid番号ファイルを場所別に指定しますdatadir = /data/3306 #データベースディレクトリ、事前に作成しておくことをお勧めしますlog-error = /data/3306/mysqld.log #エラーログの場所[mysqld3307] ソケット = /tmp/mysql.sock2 ポート = 3307 pid ファイル = /data/3307/mysqld.pid データディレクトリ = /data/3307 ログエラー = /data/3307/mysqld.log mkdir -p /data/330{6..7} chown -R mysql:mysql /data/330{6,7} ソケットファイル: 独自のデータベースサービスにアクセスするときは、ソケットファイルを介してパラメータを渡します。 3. サービスを開始する 複数のインスタンスの管理
mysqld_multi インスタンス番号の開始#サービスを開始する
mysqld_multi --user=root --password=passwordstop インスタンス番号 /usr/local/mysql/bin/mysqld_multi start 3306 #まず初期化を開始します #このコマンドを使用して /usr/local/mysql/bin/mysqld を初期化することもできます --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/3307 #このコマンドで初期化した後、サービス /usr/local/mysql/bin/mysqld_multi start 3307 を開始する必要があります。 絶対パスを入力するのは面倒なので、環境変数vim /etc/に書き込むこともできます。 エクスポート PATH=$PATH:/usr/local/mysql/bin/ ソース /etc/profile.d/mysql.sh #次に、短いコマンドmysqld_multi start 3307を記述します。 4. サービスステータスを確認する ss -nultp | grep 3306 ss -nultp | grep 3307 5. 初期パスワードを使用してサービスに接続します クライアントアクセス ローカル接続 初期パスワードを使用して接続する ローカルログインパスワードを変更する #mysql -uroot -p'初期パスワード' -S sock ファイル#mysql>alter user root@"localhost" identified by "新しいパスワード"; #最初のデータベースインスタンスに接続します。テスト /usr/local/mysql/bin/mysql -uroot -p'' -S /tmp/mysql.sock1 データベースを表示します。 「123456」で識別されるユーザー root@"localhost" を変更します。 データベースを表示します。 出口 # 2 番目のデータベース インスタンスに接続して mysql をテストします -uroot -p'' -S /tmp/mysql.sock2 データベースを表示します。 「123456」で識別されるユーザー root@"localhost" を変更します。 データベースを表示します。 出口 新しいパスワードで再度ログインしてください 6. 複数のインスタンスを停止する mysqld_multi --user=root --password=123456 停止 3306 #mysqld_multi --user=root --password=123456 stop インスタンス番号を書き込まない場合は、データベースユーザー root とパスワード 123456 のインスタンスが停止されます ss -nultp | grep 3306 これで、MySQL マルチインスタンスの構成と適用シナリオに関するこの記事は終了です。MySQL マルチインスタンスに関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: Vue におけるキープアライブ マルチレベル ルーティング キャッシュの問題
>>: HTML でシンプルな ListViews 効果を実装するためのサンプル コード
CocosCreator バージョン: 2.4.2 jszipの実践的なプロジェクトアプリケーション...
まずはコードを見てみましょう: ALTER TABLE reportblockdetail ADD ...
すべてには基礎が必要です。家を建てるには基礎が必要です。方程式を解くには、まず九九を覚える必要があり...
最終的な効果は次のようになります。アニメーションは2つのステップに分かれていますランニング軌道を開発...
目次Portainerは複数のDockerコンテナ環境を管理します2. Dockerを管理する2.1...
序文ページを共有するときに、ブラウザの戻るボタンをクリックしてプロジェクトのホームページに戻り、訪問...
目次Dockerカスタムネットワーク1. カスタムネットワークの紹介2. カスタムネットワークを作成...
現在、プロジェクトの要件により、フォームの送信を制御し、送信前にデータを検証および処理するために j...
Ubuntu 20.04 では、デフォルトで root ログインが有効になっていないため、デスクトッ...
ページ上の画像を強調表示することは非常に一般的です。ここでは、jQuery を使用して画像を強調表示...
この記事では、小数点付きの星評価を実装するためのVueの具体的なコードを参考までに共有します。具体的...
問題を見つける最近、MySQL コマンドを使用して MySQL サーバーに接続したときに、以下のよう...
例示するシステムを自分でインストールする場合は、通常、システム言語をカスタマイズできます。ただし、ク...
Windows 10 1903 は、2019 年に Microsoft がリリースした Windo...
Samba サービス:このコンテンツはサンバサービス学習者の参考用ですケースの説明:企業の管理者は、...