web-dev-qa-db-ja.com

mysqld-multi、最初のDBをスレーブ、2番目のDBをマスター

昨日、my.cnfでmysqld-multiをセットアップしました。それは素晴らしい働きをしますが、さらに問題があります。

他のサーバーからスレーブとして実行されているソケット1の最初のDB。ソケット2の2番目のものは、さらにスレーブのマスターとして実行する必要があります。 DB1のレプリケーションは正常に実行されています。

私の質問は、すべてのソケットにマスタースレーブ環境をセットアップすることは可能ですか?基本的に、my.cnfで複数のマスタースレーブ構成をセットアップすることは可能ですか?

グーグルで役立つヒントが見つからなかったか、正しい検索語がありません。

役立つヒントがあれば嬉しいです。

私のシステムは、mysql5とphpを備えたDebian6です。

[mysqld1] read-only # comment out only on the productive 
dbmaster port = 3306 
datadir = /var/lib/mysql 
pid-file = /var/lib/mysql/mysqld.pid 
socket = /var/lib/mysql/mysql.sock 
user = mysql 
log-error=/var/log/mysql1.log 
innodb_data_home_dir = /var/lib/mysql 
innodb_log_group_home_dir = /var/lib/mysqlinnolog 
relay-log = /var/log/mysql/master-relay-bin 
relay-log-index = /var/log/mysql/master-relay-bin.index 
log-bin = /var/log/mysql/relaylog/master-bin

[mysqld2] 
port = 3307 
datadir = /var/lib/mysql-data2/mysqld2 
pid-file = /var/lib/mysql-data2/mysqld2/mysql.pid 
socket = /var/lib/mysql-data2/mysqld2/mysql.sock 
user = mysql 
log-error=/var/log/mysqld2.log 
log-bin = /var/log/data2/mysql-bin

どちらのインスタンスにも、特定のポートと個別のDatadirがあります。スニペットの各セクションに一意のIDを与えることは可能ですか?スレーブIDをセクション[mysqld1]に、マスターIDを[mysqld2]に入れることはできますか?

3
Holger Jensen

私は2011年5月31日にこのようなことを取り上げます: MySQL接続はもう機能しません

基本的に、各mysqlインスタンスに一意のソケットファイル、datadir、低速ログ、エラーログ、およびメモリの公平な共有があることを確認する必要があります。

特定のポート用に個別のmysqldサービスを設定することを検討できます: 同じホストで複数のインスタンスを実行する

Db2に固有のserver_idがあることを確認する必要があります。さらに、スレーブもマスターになる場合は、このスレーブのmy.cnfにlog-slave-updatesがあることを確認してください。

1
RolandoMySQLDBA