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 効果を実装するためのサンプル コード
カウントスクリプト #!/bin/sh 引数の数=$# [ $numOfArgs -ne 1 ]の場...
QQtabBar の BEMまず、BEMとはどういう意味でしょうか? BEM は、ブロック、要素、修...
はじめに: MySQL では、CONCAT() 関数を使用して複数の文字列を 1 つの文字列に連結し...
title: vue は vue-meta-info を使用して各ページのタイトルとメタ情報を設定...
では、GIF、PNG、JPG のどの形式を候補形式として選択すればよいのでしょうか。また、どの画像形...
この記事では、簡単なポップアップウィンドウ効果を実現するためのjQueryの具体的なコードを参考まで...
目次背景1) yumのkeepchche機能を有効にする: 方法1 2) yum-utils ソフト...
システム提供のMySQLをアンインストールする1. MySQLがシステムにインストールされているかど...
背景:場合によっては、json データをページに直接表示する必要があります (たとえば、インターフェ...
序文MySQLクエリはselectコマンドを使用し、limitとoffsetパラメータを使用して、指...
目次1. ダウンロード2. 展開3. Nginxログ関連の設定4. ファイルダウンローダーとして n...
暗い背景スタイルのページ デザインは非常に人気があり、シックでエレガント、そして非常にクリエイティブ...
リストスタイルのプロパティHTMLには、順序なしリストと順序ありリストの2種類のリストがあります。仕...
HTML でよく使用されるエスケープ文字をまとめると次のようになります。 改行...
「mysqlは内部コマンドではありません」というエラーは、mysqlのbinディレクトリパスが環境変...