データベース · 1 min read · Feb 02, 2026
MySQL 5によるFedora 8でのマスターマスターレプリケーション
MySQL 5によるFedora 8でのマスターマスターレプリケーション
Version 1.0
Author: Oliver Meyer
この文書では、Fedora 8上でMySQL 5を使用してマスターマスターレプリケーションを設定する方法について説明します。バージョン5以降、MySQLはマスターマスターレプリケーションのための組み込みサポートを提供しており、自己生成されたキーに関する問題を解決します。以前のMySQLバージョンでは、ノードAとノードBが同じテーブルに自動インクリメントキーを挿入すると、すぐに競合が発生するという問題がありました。マスターマスターレプリケーションの利点は、アプリケーションを変更して書き込みアクセスをマスターのみに制限する必要がなく、マスターが故障した場合でも他のマスターが残るため、高可用性を提供しやすいことです。
このハウツーは、理論的背景をカバーせず、保証なしの実用的なガイドです。このようなシステムを設定する方法は多くありますが、これは私が選んだ方法です。
1 準備
このハウツーでは、次の構成で2つのFedora 8システム(GUIなしの最小インストール)を設定しました。
1.1 システム1
ホスト名: server1.example.com
IP: 192.168.0.100
1.2 システム2
ホスト名: server2.example.com
IP: 192.168.0.200
2 MySQL
2.1 両システムに必要なパッケージ
両システムにMySQLがインストールされていない場合は、次のコマンドでインストールできます(クライアント&サーバー):
yum -y install mysql mysql-server2.2 両システムでのMySQLサーバーの初期起動
MySQLサーバーを起動します。
/etc/init.d/mysqld start2.3 MySQLルートパスワード
2.3.1 両システム
localhostのMySQLルートユーザーのパスワードを設定します。
mysqladmin -u root password %sql_root_password%2.3.2 システム1
server1.example.comのMySQLルートユーザーのパスワードを設定します。
mysqladmin -u root -h server1.example.com password %mysql_root_password%2.3.3 システム2
server2.example.comのMySQLルートユーザーのパスワードを設定します。
mysqladmin -u root -h server2.example.com password %mysql_root_password%2.4 MySQLレプリケーションユーザー
2.4.1 システム1
システム2がシステム1のMySQLデータベースにアクセスするために使用するレプリケーションユーザーを作成します。
mysql -u root -pGRANT REPLICATION SLAVE ON *.* TO 'slave2_user'@'%' IDENTIFIED BY '%mysql_slaveuser_password%';
FLUSH PRIVILEGES;
quit;2.4.2 システム2
システム1がシステム2のMySQLデータベースにアクセスするために使用するレプリケーションユーザーを作成します。
mysql -u root -pGRANT REPLICATION SLAVE ON *.* TO 'slave1_user'@'%' IDENTIFIED BY '%mysql_slaveuser_password%';
FLUSH PRIVILEGES;
quit;2.5 システム2のデータベース
私は、exampledbというデータベースがすでにシステム1に存在し、レコードを含むテーブルがあると仮定します。したがって、システム1に存在するデータベースと同じ名前の空のデータベースを作成する必要があります。
mysql -u root -pCREATE DATABASE exampledb;
quit;新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。