ホームページ > データベース > mysql チュートリアル > MySQL でデータのクロスサーバーおよびクロスデータベース操作を実装するにはどうすればよいですか?

MySQL でデータのクロスサーバーおよびクロスデータベース操作を実装するにはどうすればよいですか?

WBOY
リリース: 2023-07-30 14:39:19
オリジナル
1919 人が閲覧しました

MySQL は、Web アプリケーションのデータ ストレージと管理に広く使用されているオープン ソースのリレーショナル データベース管理システムです。実際のアプリケーション シナリオでは、データ同期、データ移行、複数のデータベース間でのデータの分散管理など、データに対するクロスサーバーおよびクロスデータベース操作を実装する必要があることがよくあります。

以下では、MySQL でデータのクロスサーバーおよびクロスデータベース操作を実装する方法とサンプル コードを紹介します。

  1. Federated Storage Engine の使用
    Federated Storage Engine は、MySQL によって提供されるストレージ エンジンです。このストレージ エンジンを通じて、他の MySQL サーバーに接続されている MySQL インスタンスにテーブルを作成できます。これにより、データのクロスサーバー操作が実現します。

まず、MySQL サーバー上で Federated Storage エンジンを有効にする必要があります。 my.cnf 設定ファイルに次の設定を追加します。

[mysqld]
federated = ON
ログイン後にコピー

次に、データベースに Federated テーブルを作成し、接続するリモート MySQL サーバーの情報を指定します。

CREATE TABLE federated_table (
    id INT(11) AUTO_INCREMENT,
    data VARCHAR(100),
    PRIMARY KEY (id)
) ENGINE=FEDERATED
DEFAULT CHARSET=utf8
CONNECTION='mysql://[用户名]:[密码]@[远程MySQL服务器IP地址]:[端口号]/[数据库名]/[远程表名]';
ログイン後にコピー

上記の例では、コード、[ユーザー名]、[パスワード]、[リモート MySQL サーバーの IP アドレス]、[ポート番号]、[データベース名]、[リモート テーブル名]は、実際の状況に応じて置き換えてください。作成が成功したら、このフェデレーション テーブルを操作することで、サーバー間のデータ操作を実行できます。

  1. Replication レプリケーション機能の使用
    MySQL の Replication レプリケーション機能を使用すると、ある MySQL サーバー上のデータを他の MySQL サーバーにコピーして、サーバー間のデータ操作を実現できます。

まず、メイン データベースで設定を行います。次の構成を my.cnf 構成ファイルに追加します。

[mysqld]
server-id=1
log_bin=mysql-bin
binlog_format=row
ログイン後にコピー

次に、MySQL サービスを再起動します。

スレーブ データベースで構成します。次の構成を my.cnf 構成ファイルに追加します。

[mysqld]
server-id=2
ログイン後にコピー

次に、MySQL サービスを再起動します。

マスター データベースにレプリケーション アカウントを作成し、レプリケーションのアクセス許可を付与します。

CREATE USER 'repl_user'@'从数据库IP地址' IDENTIFIED BY 'repl_password';
GRANT REPLICATION SLAVE ON *.* TO 'repl_user'@'从数据库IP地址';
ログイン後にコピー

このうち、スレーブ データベースの IP アドレスは、実際のスレーブ データベースの IP アドレスに置き換える必要があります。

次に、メイン データベース上のバイナリ ログのファイル名と場所を確認します。

SHOW MASTER STATUS;
ログイン後にコピー

File と Position の値を記録します。

スレーブ データベースにレプリケートされた情報を設定します:

CHANGE MASTER TO
MASTER_HOST='主数据库IP地址',
MASTER_USER='repl_user',
MASTER_PASSWORD='repl_password',
MASTER_LOG_FILE='二进制日志的文件名',
MASTER_LOG_POS=二进制日志的位置;
ログイン後にコピー

このうち、マスター データベースの IP アドレスは実際のマスター データベースの IP アドレスに置き換える必要があり、ファイル名と場所はバイナリ ログは、前のステップの値を使用して記録する必要があります。

次に、スレーブ データベースでレプリケーション プロセスを開始します。

START SLAVE;
ログイン後にコピー

SHOW SLAVE STATUSG コマンドを使用して、レプリケーション プロセスのステータスを表示できます。

このようにして、マスター データベース上のデータ変更操作がスレーブ データベースに同期され、クロスサーバー データ操作が実現されます。

まとめると、MySQL は Federated Storage エンジンと Replication レプリケーション機能を通じて、クロスサーバーおよびクロスデータベースのデータ操作を実現できます。開発者は、実際のニーズに基づいて、サーバー間およびデータベース間でのデータ操作を実行するための適切な方法を選択できます。

上記は、MySQL でデータのクロスサーバーおよびクロスデータベース操作を実装するためのメソッドとサンプル コードです。

以上がMySQL でデータのクロスサーバーおよびクロスデータベース操作を実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート