MariaDBでデータベースレプリケーションを設定する方法 - TechRepublic

MariaDBでデータベースレプリケーションを設定する方法 - TechRepublic

出版

ジャック・ウォーレンの画像

データベースレプリケーションの設定は、MariaDBデータのリアルタイムバックアップを取得するための最も信頼性の高い手段の一つです。これがいかに簡単に実現できるかをご覧ください。

MariaDBを使用してデータベースサーバーを構築する予定がある場合は、データベースレプリケーションの導入を検討することをお勧めします。マスター・スレーブ方式のデータレプリケーションにより、バックアップや分析のために複数のコンピューターにデータを自動的に複製できます。

MariaDBでレプリケーションを使用するための簡単な設定方法をご紹介します。これにより、データベースが常に別のサーバーにバックアップされることが保証されます。設定は簡単ですが、細かい点に注意する必要があります。ここでは、2台のマシンにMariaDBがセットアップされており、1台のマシンにデータが保存されたデータベースが配置されていることを前提としています。

それでは、これを設定しましょう。

注:ここでは192.168.1.xネットワークで設定します。ネットワークが異なる場合は、必要に応じてコマンドを変更してください。マスターIPアドレスは192.168.1.124、スレーブIPアドレスは192.168.1.177になります。

参照: 最も急速に成長しているデータベースのいくつかが最も実験的な理由 (TechRepublic)

マスター

マスター側で設定する項目はそれほど多くありません。/etc/mysql/my.cnf ファイルを開き、末尾に以下の行を追加してください。

[mariadb]
​log-bin = mysql-bin
​server-id = 1
​log-basename = master1
​bind-address=0.0.0.0

ファイルを保存して閉じます。次のコマンドでmysqlプロンプトに移動してください。

mysql -u root -p

注: MySQL ユーザーは「root」であると想定しています。別のユーザーを使用する場合は、コマンドを適宜変更してください。

mysql プロンプトから、次のコマンドを発行します (PASSWORD はユーザー root のパスワードです)。

GRANT REPLICATION SLAVE ON *.* TO root;
​GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.177' IDENTIFIED BY 'PASSWORD' WITH GRANT OPTION;

sudo service mysql restartコマンドで MySQL を再起動します。これがマスターに対して実行する必要があるすべてです。

奴隷

スレーブ側へ移動します。/etc/mysql/my.cnf ファイルを開き末尾に以下の行を追加します。

[mariadb]
​server-id = 2
​bind-address=0.0.0.0

ファイルを保存して閉じます。sudo service mysql restartコマンドでMySQLデータベースを再起動します。次に、 mysql -u root -pコマンドでMySQLプロンプトを開きます。MySQLプロンプトから以下のコマンドを入力します。

CHANGE MASTER TO master_host="192.168.1.124", master_user="root", master_use_gtid=slave_pos;
​START SLAVE;

この時点で、スレーブ MySQL プロンプトからこのコマンドを実行できます。

SHOW SLAVE STATUS;

かなり長い出力が表示されますが、その中に次の行が含まれます:

マスターからのイベント送信を待機中 | 192.168.1.124

データベース (USE clients; など) を使用してコマンドを発行することで、データベースが複製されているかどうかをテストできます (DBNAME はマスター上のデータベースの 1 つの名前です)。

SELECT * FROM DBNAME;

データベースが複製中です。

データベースバックアップの最も簡単な手段

リアルタイムのデータベースバックアップを取得する方法として、レプリケーションよりも簡単な方法を見つけるのは難しいでしょう。MariaDBでは、レプリケーションの設定は驚くほど簡単です。ぜひお試しください。いつでも使えるバックアップデータベースが確保できるので、安心してご利用いただけます。

記事をシェア

こちらもご覧ください

  • NoSQLは増加し続けているが、リレーショナルデータベースは依然としてビッグデータを支配している
  • snapper を使って自動 btrfs スナップショットを作成する方法
  • MySQLのパスワードレス認証を設定する方法
  • MySQLでデータベースを作成し、データを入力する方法
  • openSUSEにLAMPサーバーをインストールする方法
  • データのバックアップ:賢い人のためのガイド
  • データバックアップポリシー
ジャック・ウォーレンの画像

ジャック・ウォーレン

ジャック・ウォーレンは、TechRepublic、The New Stack、Linux New Mediaなどで受賞歴のあるライターです。20年以上にわたり様々なトピックを執筆し、オープンソースの熱心な推進者でもあります。ジャック・ウォーレンに関する詳細は、ウェブサイトjackwallen.comをご覧ください。

Tagged: