1. GTIDの基本概念MySQL 5.6.5 以降でサポートされているグローバル トランザクション識別子 (GTID (グローバル トランザクション ID)) は、ソース (プライマリ) サーバー上でコミットされた各トランザクションに作成され、関連付けられる一意の識別子です。 2. GTIDの利点同じトランザクションがスレーブ上で 1 回だけ実行されるようにし、実行されていない gtid トランザクションは常に実行されるようにします。 3. GTIDの仕組み 1. トランザクションがマスター データベースで実行され、コミットされると、GTID が生成され、binlog ログに記録されます。 4. 従来のレプリケーションに対するGTIDの利点1. フェイルオーバーの実装が簡単になり、log_file、log_posを探す必要がなくなりました。 2. マスタースレーブレプリケーションの構築が容易 3. より安全 4.GTIDはギャップなく連続しているので、メインデータベースで競合が発生した場合は、空のイベントを追加することでスキップできます。 5. 起動方法
開始する前に、マスターの書き込みをオフにして、マスターとスレーブのデータが同期された状態を保つようにします。開始後に以前のレプリケーション プロトコルを使用しないようにするには、すべてのスレーブに構成パラメータ skip_slave_start=1 を追加する必要があります。 6.GTID(マスター1台とスレーブ1台)構成6.1 環境:
#バイナリインストールとmysql自動起動サービスは省略 6.2 マスター データベースでスレーブ データベースを承認します。mysql> 'slave' によって識別される 'slave'@'192.168.136.219' に *.* 上のレプリケーション スレーブを許可します。 クエリは正常、影響を受けた行は 0 行、警告は 1 件 (0.00 秒) mysql> 権限をフラッシュします。 クエリは正常、影響を受けた行は 0 行 (0.00 秒) #両方のサーバーのファイアウォールをオフにします [root@mysql01 ~]# systemctl stop firewalld [root@mysql01 ~]# setenforce 0 [root@mysql02 ~]# systemctl を停止します。firewalld [root@mysql02 ~]# setenforce 0 ライブラリからの接続をテストします。 [root@mysql02 ~]# mysql -u スレーブ -p'スレーブ' -h192.168.136.239 ヘルプを表示するには、「help;」または「\h」と入力します。現在の入力ステートメントをクリアするには、「\c」と入力します。 マイSQL> 6.3 データ一貫性操作の確保1. メイン データベース テーブルをロックします。mysql> flush tables with read lock; 2. メインデータベースを準備します [root@mysql01 ~]# mysqldump -uroot -A > /clq/all-databases-20210519.sql 3. スレーブホストにコピーします [root@mysql01 ~]# scp /clq/all-databases-20210519.sql [email protected]:/backup/ [root@mysql02 バックアップ]# ll -rw-r--r--。1 ルート ルート 873527 5月19日 16:40 all-databases-20210519.sql 4. データベース [root@mysql02 バックアップ]# mysql -uroot -pHuawei0917@ < all-databases-20210519.sql からマスターデータベースを復元します。 6.4 メインライブラリの設定[mysqld] ベースディレクトリ = /usr/local/mysql データディレクトリ = /opt/data ソケット = /tmp/mysql.sock ポート = 3306 ユーザー = mysql pid ファイル = /opt/data/mysql.pid 名前解決をスキップ #許可テーブルをスキップする log-bin = master_bin #マスターデータベースログを開く server-id = 10 #サービスの一意のID gtid-mode = on #GTID モードをオンenforce_gtid_consistency = on #gtid モードの一貫性を強制log-slave-updates = 1 #スレーブ データベースは更新ログを許可し、操作ログを同期しますbinlog_format = row #binlog ログ形式は行形式で、デフォルトは混合モードですskip_slave_start = 1 #スレーブ データベースをスキップし、マスター データベースから開始します #systemctl を再起動します。restart mysqld 6.5 スレーブライブラリを構成する[root@mysql02 データ]# cat /etc/my.cnf [mysqld] ベースディレクトリ = /usr/local/mysql データディレクトリ = /opt/data ソケット = /tmp/mysql.sock ポート = 3306 ユーザー = mysql pid ファイル = /opt/data/mysql.pid 名前解決をスキップ #許可テーブルをスキップする gtid_mode=オン 強制GTID一貫性=オン サーバーID=20 log-bin=slave_binlog #スレーブログを開く log_slave-updates=1 #スレーブの更新が許可される binlog_format=row #形式は行です skip-slave_start=1 #systemctl restart mysqldを再起動します gtidステータスを確認する mysql> '%gtid%' のような変数を表示します。 +----------------------------------+-----------+ | 変数名 | 値 | +----------------------------------+-----------+ | binlog_gtid_simple_recovery | オン | | 強制GTID一貫性 | オン | | gtid_executed_compression_period | 1000 | | gtid_mode | オン | | gtid_next | 自動 | | gtid_owned | | | gtid_purged | | | session_track_gtids | オフ | +----------------------------------+-----------+ セット内の行数は 8 です (0.00 秒) 6.6 マスタースレーブレプリケーションを構成する#スレーブデータベースをルートとして設定する #help マスターを次のように変更する ヘルプドキュメントの例を参照できます。 mysql> マスターを次のように変更する -> マスターホスト='192.168.136.239', -> マスターユーザー='スレーブ'、 -> マスターパスワード='スレーブ'、 -> master_port = 3306、#マスターライブラリポート-> master_auto_position = 1; #位置#master_use_gtid = current_pos クエリは正常、影響を受けた行は 0 行、警告は 2 件 (0.01 秒) mysql> スレーブを起動します。 クエリは正常、影響を受けた行は 0 行 (0.00 秒) mysql> スレーブステータスを表示します\G; Slave_IO_Running: 接続中 スレーブIO実行中: はい スレーブSQL実行中: はい システムの一貫性と認証の一貫性を確保する (マスター GTID 1 つとスレーブ GTID 1 つ) テスト: テストと表示のためにメインライブラリにデータベーステストを作成します テスト用のライブラリからデータベースtest02を作成する # メイン データベースにテスト データベースを作成します。mysql> create database test; mysql> データベースを表示します。 +--------------------+ | データベース | +--------------------+ | 情報スキーマ | |mysql | | パフォーマンススキーマ | |システム| | テスト | +--------------------+ # データベースからの同期ステータスを確認します。mysql> show databases; +--------------------+ | データベース | +--------------------+ | 情報スキーマ | |mysql | | パフォーマンススキーマ | |システム| | テスト | +--------------------+ セット内の 6 行 (0.00 秒) #ライブラリから test02 データベースを作成しますmysql> create database test02; クエリは正常、1 行が影響を受けました (0.00 秒) # メインデータベースの表示mysql> show databases; +--------------------+ | データベース | +--------------------+ | 情報スキーマ | |mysql | | パフォーマンススキーマ | | sys | #test02 ライブラリがありません | test | +--------------------+ セット内の行数は 5 です (0.00 秒) 概要: マスター データベース上のデータ操作はスレーブ データベースに同期されますが、スレーブ データベース上のデータ操作はマスター データベースと接続されていません。 7.GTID(マスター1台とスレーブ2台)3番目のMySQLが接続されている場合、それに応じて設定します
[root@mysql03 ~]# cat /etc/my.cnf [mysqld] ベースディレクトリ = /usr/local/mysql データディレクトリ = /opt/data ソケット = /tmp/mysql.sock ポート = 3306 ユーザー = mysql pid ファイル = /opt/data/mysql.pid 名前解決をスキップ #許可テーブルをスキップする # レプリケーション設定 ログビン = master_bin server-id = 21 #idは前のものと異なる必要があります gtid-mode = on 強制GTID一貫性 = オン ログスレーブ更新 = 1 binlog 形式 = 行 スレーブ開始をスキップ = 1 #gtid ステータスを確認するmysql> show variables like '%gtid%'; +----------------------------------+-----------+ | 変数名 | 値 | +----------------------------------+-----------+ | binlog_gtid_simple_recovery | オン | | 強制GTID一貫性 | オン | | gtid_executed_compression_period | 1000 | | gtid_mode | オン | | gtid_next | 自動 | | gtid_owned | | | gtid_purged | | | session_track_gtids | オフ | +----------------------------------+-----------+ #これまでは1つのIPアドレスのみが許可されていたため、mysql01マスターデータベースで別のIPアドレスを許可します mysql> 'slave' によって識別される 'slave'@'192.168.136.230' に *.* 上のレプリケーション スレーブを許可します。 クエリは正常、影響を受けた行は 0 行、警告は 1 件 (0.00 秒) mysql> 権限をフラッシュします。 クエリは正常、影響を受けた行は 0 行 (0.00 秒) #接続テスト [root@mysql ~]# mysql -uslave -pslave -h192.168.136.239 mysql: [警告] コマンドライン インターフェイスでパスワードを使用すると安全でない可能性があります。 MySQL モニターへようこそ。コマンドは ; または \g で終わります。 MySQL接続IDは17です サーバーバージョン: 5.7.33-log MySQL コミュニティサーバー (GPL) Copyright (c) 2000、2021、Oracle およびその関連会社。 OracleはOracle Corporationおよびその関連会社の登録商標です。 その他の名称は各社の商標である場合があります。 所有者。 ヘルプを表示するには、「help;」または「\h」と入力します。現在の入力ステートメントをクリアするには、「\c」と入力します。 マイSQL> #mysql03 はデータベースから root ユーザーに接続し、対応する構成を実行します [root@mysql03 ~]# mysql -uroot -p1 mysql>マスターを次のように変更します -> master_host='192.168.136.239'、#マスターデータベースIP -> master_user='slave', #マスターデータベースによって承認された通常のユーザー-> master_password='slave', -> master_port=3306、#マスター データベース ポート-> master_auto_position=1; #位置の同期は 1 から始まります#構成のヘルプも表示できますmysql> help change master to; マスターを変更 MASTER_HOST='source2.example.com', MASTER_USER='レプリケーション'、 MASTER_PASSWORD='パスワード', マスターポート=3306、 MASTER_LOG_FILE='source2-bin.001', マスターログPOS=4、 MASTER_CONNECT_RETRY=10; URL: https://dev.mysql.com/doc/refman/5.7/en/change-master-to.html #mysql を開いて、スレーブを起動します。 mysql> スレーブステータスを表示します\G; ************************** 1. 行 **************************** Slave_IO_State: マスターがイベントを送信するのを待機中 マスターホスト: 192.168.136.239 マスターユーザー: スレーブ マスターポート: 3306 接続再試行: 60 マスターログファイル: master_bin.000002 読み取りマスターログ位置: 2172 リレーログファイル:mysql-relay-bin.000002 リレーログ位置: 2387 リレーマスターログファイル: master_bin.000002 スレーブIO実行中: はい Slave_SQL_Running: Yes # 2 つの yes が表示された場合、操作は成功です。 #mysql03 データベースを確認すると、データベースの内容も正常に同期されています。mysql> show databases; +--------------------+ | データベース | +--------------------+ | 情報スキーマ | |mysql | | パフォーマンススキーマ | |システム| | テスト | +--------------------+ セット内の行数は 5 です (0.00 秒) 8.GTID(マスター2台とスレーブ1台)1. 最新の環境
2. すべてのサーバーのファイアウォールがオフまたは有効になっている[root@master01 ~]# systemctl 停止firewalld [root@master01 ~]# systemctl ファイアウォールを無効にする [root@master02 ~]# systemctl を停止します。firewalld [root@master02 ~]# systemctl ファイアウォールを無効にする [root@slave ~]# systemctl stop firewalld [root@slave ~]# systemctl は、firewalld を無効にする 3. 承認された接続master01ライブラリは一般ユーザーを認証しますmysql> 'user'@'192.168.136.%' に 'user' で識別されるレプリケーション スレーブを *.* に付与します。 スレーブが接続[root@slave ~]# mysql -uuser -p'user' -h192.168.136.239 mysql: [警告] コマンドライン インターフェイスでパスワードを使用すると安全でない可能性があります。 MySQL モニターへようこそ。コマンドは ; または \g で終わります。 MySQL接続IDは5です サーバーバージョン: 5.7.33 MySQL コミュニティサーバー (GPL) Copyright (c) 2000、2021、Oracle およびその関連会社。 OracleはOracle Corporationおよびその関連会社の登録商標です。 その他の名称は各社の商標である場合があります。 所有者。 ヘルプを表示するには、「help;」または「\h」と入力します。現在の入力ステートメントをクリアするには、「\c」と入力します。 master02は一般ユーザーを承認するmysql> 'app'@'192.168.136.%' に 'app' で識別されるレプリケーション スレーブを *.* に付与します。 クエリは正常、影響を受けた行は 0 行、警告は 1 件 (0.01 秒) mysql> 権限をフラッシュします。 クエリは正常、影響を受けた行は 0 行 (0.00 秒) スレーブが接続[root@スレーブ ~]# mysql -uapp -papp -h192.168.136.219 mysql: [警告] コマンドライン インターフェイスでパスワードを使用すると安全でない可能性があります。 MySQL モニターへようこそ。コマンドは ; または \g で終わります。 MySQL接続IDは3です サーバーバージョン: 5.7.33 MySQL コミュニティサーバー (GPL) Copyright (c) 2000、2021、Oracle およびその関連会社。 OracleはOracle Corporationおよびその関連会社の登録商標です。 その他の名称は各社の商標である場合があります。 所有者。 ヘルプを表示するには、「help;」または「\h」と入力します。現在の入力ステートメントをクリアするには、「\c」と入力します。 マイSQL> 4. 設定ファイルを個別に変更する#master01 ホスト: [root@master01 ~]# cat /etc/my.cnf [mysqld] ベースディレクトリ = /usr/local/mysql データディレクトリ = /opt/data ソケット = /tmp/mysql.sock ポート = 3306 ユーザー = mysql pid ファイル = /opt/data/mysql.pid 名前解決をスキップ スキップ許可テーブル ログビン = master_bin サーバーID = 10 gtidモード = オン 強制GTID一貫性 = オン ログスレーブ更新 = 1 binlog 形式 = 行 スレーブ開始をスキップ = 1 #master02 ホスト [mysqld] ベースディレクトリ = /usr/local/mysql データディレクトリ = /opt/data ソケット = /tmp/mysql.sock ポート = 3306 ユーザー = mysql pid ファイル = /opt/data/mysql.pid 名前解決をスキップ #レプリケーション設定 ログビン = master_bin サーバーID = 11 gtidモード = オン 強制GTID一貫性 = オン ログスレーブ更新 = 1 binlog 形式 = 行 スレーブ開始をスキップ = 1 #スレーブホスト [mysqld] ベースディレクトリ = /usr/local/mysql データディレクトリ = /opt/data ソケット = /tmp/mysql.sock ポート = 3306 ユーザー = mysql pid ファイル = /opt/data/mysql.pid 名前解決をスキップ ログビン = スレーブビン サーバーID = 13 gtidモード = オン 強制GTID一貫性 = オン ログスレーブ更新 = 1 binlog 形式 = 行 スレーブ開始をスキップ = 1 5. 個別に再起動する[root@master01 ~]# systemctl mysqldを再起動します [root@master02 ~]# systemctl mysqldを再起動します [root@slave ~]# systemctl mysqldを再起動します 6. GTIDの複数のマスターと1つのスレーブを設定する前に、概念を紹介しましょう
チャネルを使用する場合は、スレーブ ライブラリの master-info-repository と relay-log-info-repository をテーブルに設定する必要があります。そうしないと、エラーが報告されます。 情報リポジトリをテーブル形式に設定する 方法1(mysqlでの設定): グローバル master_info_repository='table' を設定します。 グローバルrelay_log_info_repositoryを'table'に設定します。 方法 2 (/etc/my.cnf で設定): 3. my.cnfでmaster_info_repository = TABLEを設定します。 リレーログ情報リポジトリ = テーブル # 変更が成功したかどうかを確認しますmysql> show variables where variable_name in ('relay_log_info_repository','master_info_repository'); +---------------------------+-------+ | 変数名 | 値 | +---------------------------+-------+ | マスター情報リポジトリ | テーブル | | リレーログ情報リポジトリ | テーブル | +---------------------------+-------+ 7.スレーブはルートユーザーとしてログインし、GTIDを設定します。#slaveは2つのマスターライブラリを設定します。スレーブライブラリのGTIDレプリケーションmysql>マスターを次のように変更します。 -> master_host='192.168.136.219'、#mysql02 マスター データベース IP -> master_user='app'、#mysql02 マスター データベースによって承認された通常のユーザー-> master_password='app'、#mysql02 マスター データベースによって承認された通常のユーザー パスワード-> master_port=3306、#マスター データベース ポート-> チャネル 'master01' の master_auto_position=1; #位置の同期は 1 から始まり、最初のスレーブの名前は master01 になります mysql>マスターを次のように変更します -> master_host='192.168.136.239'、#mysql01 マスター データベース IP -> master_user='ユーザー', -> マスターパスワード='ユーザー'、 -> master_port=3306、#マスターライブラリポート-> チャネル 'master02' の master_auto_position=1; #位置同期は 1 から始まり、最初のスレーブの名前は master01 になります # 2 つのスレーブのステータスを確認しますmysql> show slave status\G; ************************** 1. 行 **************************** スレーブ_IO_状態: マスターホスト: 192.168.136.219 マスターユーザー: アプリ マスターポート: 3306 接続再試行: 60 マスターログファイル: 読み取りマスターログ位置: 4 リレーログファイル: slave02-relay-bin-master1.000001 リレーログ位置: 4 リレーマスターログファイル: スレーブIO実行中: いいえ Slave_SQL_Running: いいえ #すべて閉じています Replicate_Do_DB: レプリケート_無視_DB: テーブルの複製: 無視テーブルを複製: Replicate_Wild_Do_Table: Replicate_Wild_Ignore_Table: 最終エラー番号: 0 最終エラー: スキップカウンタ: 0 実行マスターログ位置: 0 リレーログスペース: 154 Until_Condition: なし ログファイルまで: ログ位置まで: 0 マスターSSL許可: いいえ マスターSSLCAファイル: マスターSSLCAパス: マスターSSL証明書: マスターSSL暗号: マスターSSLキー: マスターより遅れている秒数: NULL Master_SSL_Verify_Server_Cert: いいえ 最終IOエラー番号: 0 最後のIOエラー: 最終SQLエラー番号: 0 最後のSQLエラー: Replicate_Ignore_Server_Ids: マスターサーバー ID: 0 マスターUUID: マスター情報ファイル: mysql.slave_master_info SQL_遅延: 0 SQL_残り遅延: NULL スレーブSQL実行状態: マスター再試行回数: 86400 マスター_バインド: 最終IOエラータイムスタンプ: 最終SQLエラータイムスタンプ: マスターSSL証明書: マスターSSLCrlパス: 取得済み_Gtid_Set: 実行されたGtidセット: b4326a77-0a31-11ec-a991-000c298d3571:1-2、 d68b404d-0a35-11ec-9df1-000c29581959:1 自動位置: 1 Replicate_Rewrite_DB: チャンネル名: master1 マスター TLS バージョン: ************************** 2. 行 **************************** スレーブ_IO_状態: マスターホスト: 192.168.136.239 Master_User: ユーザー マスターポート: 3306 接続再試行: 60 マスターログファイル: 読み取りマスターログ位置: 4 リレーログファイル: slave02-relay-bin-master2.000001 リレーログ位置: 4 リレーマスターログファイル: スレーブIO実行中: いいえ スレーブSQL実行中: いいえ レプリケート_Do_DB: レプリケート_無視_DB: テーブルの複製: 無視テーブルを複製: Replicate_Wild_Do_Table: Replicate_Wild_Ignore_Table: 最終エラー番号: 0 最終エラー: スキップカウンタ: 0 実行マスターログ位置: 0 リレーログスペース: 154 Until_Condition: なし ログファイルまで: ログ位置まで: 0 マスターSSL許可: いいえ マスターSSLCAファイル: マスターSSLCAパス: マスターSSL証明書: マスターSSL暗号: マスターSSLキー: マスターより遅れている秒数: NULL Master_SSL_Verify_Server_Cert: いいえ 最終IOエラー番号: 0 最後のIOエラー: 最終SQLエラー番号: 0 最後のSQLエラー: Replicate_Ignore_Server_Ids: マスターサーバー ID: 0 マスターUUID: マスター情報ファイル: mysql.slave_master_info SQL_遅延: 0 SQL_残り遅延: NULL スレーブSQL実行状態: マスター再試行回数: 86400 マスターバインド: 最終IOエラータイムスタンプ: 最終SQLエラータイムスタンプ: マスターSSL証明書: マスターSSLCrlパス: 取得済み_Gtid_Set: 実行されたGtidセット: b4326a77-0a31-11ec-a991-000c298d3571:1-2、 d68b404d-0a35-11ec-9df1-000c29581959:1 自動位置: 1 Replicate_Rewrite_DB: チャンネル名: master2 マスター TLS バージョン: セット内の 2 行 (0.00 秒) #スレーブを2つ開く mysql> スレーブを起動します。 # ステータスを再度確認する GTID (マスター 2 台とスレーブ 1 台) テスト:#master01 メインライブラリはテストデータベースを作成しますmysql> create database test; クエリは正常、1 行が影響を受けました (0.00 秒) mysql> データベースを表示します。 +--------------------+ | データベース | +--------------------+ | 情報スキーマ | |mysql | | パフォーマンススキーマ | |システム| | テスト | +--------------------+ セット内の行数は 5 です (0.00 秒) #mysql> show databases で master02 データベースを表示します。 +--------------------+ | データベース | +--------------------+ | 情報スキーマ | |mysql | | パフォーマンススキーマ | | sys | #コンテンツなし+--------------------+ セット内の 4 行 (0.00 秒) #ライブラリからのスレーブビューmysql> show databases; +--------------------+ | データベース | +--------------------+ | 情報スキーマ | |mysql | | パフォーマンススキーマ | |システム| | test | #テストライブラリが同期されました+--------------------+ セット内の行数は 5 です (0.00 秒) #mysql02 メイン データベースに RHCA データベースを作成します。mysql> create database RHCA; クエリは正常、1 行が影響を受けました (0.01 秒) mysql> データベースを表示します。 +--------------------+ | データベース | +--------------------+ | 情報スキーマ | |RHCA| |mysql | | パフォーマンススキーマ | |システム| +--------------------+ セット内の行数は 5 です (0.00 秒) #slave ライブラリから mysql> show databases; +--------------------+ | データベース | +--------------------+ | 情報スキーマ | |RHCA| |mysql | | パフォーマンススキーマ | | sys | #mysql01 メインライブラリのテストライブラリと mysql02 の RHCA ライブラリを使用 | test | +--------------------+ セット内の 6 行 (0.00 秒) スレーブ関連コマンド:
プロセス中にエラーは発生しませんでしたが、最も一般的なエラーは次のとおりです。 設定後、スレーブを起動するとエラーが発生する mysql> スレーブを起動します。 エラー 1872 (HY000): スレーブがリポジトリからのリレー ログ情報構造の初期化に失敗しました 問題を解決するmysql.slave_relay_log_info テーブルには以前のレプリケーション情報が保持されているため、新しいスレーブ ライブラリを起動したときに、対応するファイルが見つかりません。この場合、テーブル内のレコードをクリアできます。 mysql> スレーブをリセットします。 クエリは正常、影響を受けた行は 0 行 (0.00 秒) 上記は、MySQL サンプル DTID マスタースレーブ原理の分析の詳細な内容です。MySQL サンプル DTID マスタースレーブ原理の詳細については、123WORDPRESS.COM の他の関連記事に注目してください。 以下もご興味があるかもしれません:
|
<<: Minio 軽量オブジェクト ストレージ サービスのインストールとブラウザの使用チュートリアル
>>: CSS コード省略 div+css レイアウト コード省略仕様
データベースのクエリ `学生`から*を選択 クエリ結果id名前誕生日1張三1970-10-01 2李...
達成される効果は、固定ズームが 2 倍になり、マウスが左側の画像領域に入るとマスク レイヤーが表示さ...
Linux システムは典型的なマルチユーザー システムです。異なるユーザーは異なる立場にあり、異なる...
1. MySQL に接続してログインしたら、まず MySQL でイベント機能が有効になっているかどう...
1. getBoundingClientRect() 分析getBoundingClientRect...
オリジナルリンク: https://vien.tech/article/157序文この記事では、Ub...
以下のように表示されます。 nsenter -t 1 -m -u -n -i sh -c "...
目次pom 構成Setting.xml 構成ログインステータスログインが必要ですログインは必要ありま...
MACでMySQLの初期パスワードを忘れた場合の解決策を参考までに共有します。具体的な内容は次のとお...
1. はじめにWeb プロジェクトを Linux サーバーで公開する場合、SSL 証明書を構成する必...
操作中に Docker コンテナの公開ポートを変更または追加する必要がある場合がありますが、実行中の...
<br />関連記事: innerHTML HTML DOM insertRow() メ...
導入dockerコンテナとdocker-composeに基づいて、Linux環境でのdockerの基...
vsftpd の概要vsftpd は「very secure FTP daemon」の略称で、セキ...
この記事では、MySQL マスター/スレーブ データベースの構築方法について説明します。ご参考までに...