0

mysql replicationネットワーク上の 2 つのシステムにマルチマスターをセットアップしようとしています。で 2 つの別個のデータベース サーバーが実行mysqlされています。同じ名前を共有しているため、 のユーザーlocalhostを作成するにはどうすればよいですか。replicationhosts

私はこれを行うことができましたが、それは正しいことではないようです。

CREATE USER 'repl_user1'@'localhost' IDENTIFIED BY 'password1';  // Server1
CREATE USER 'repl_user2'@'localhost' IDENTIFIED BY 'password2';  // Server2

私はこのようなことをすべきだと思います

CREATE USER 'repl_user1'@'server1.com' IDENTIFIED BY 'password1';  // Server1
CREATE USER 'repl_user2'@'server2.com' IDENTIFIED BY 'password2';  // Server2

しかし、ホストに名前を付ける方法がわかりません。助けてくれてありがとう。

4

1 に答える 1

1

IP を使用できます。例:

CREATE USER 'repl_user1'@'192.168.1.101' IDENTIFIED BY 'password1';  // Server1
CREATE USER 'repl_user2'@'192.168.1.102' IDENTIFIED BY 'password2';  // Server2

本当にホスト名を使用したい場合 (そして、DNS を使用するサーバー用にまだセットアップしていない場合) は、それらをホスト ファイルに追加して参照するだけです。元。:

/etc/hosts (サーバー 1)

127.0.0.1         localhost server1.local
192.168.1.101     server1.local
192.168.1.102     server2.local

/etc/hosts (サーバー 2)

127.0.0.1         localhost server2.local
192.168.1.101     server1.local
192.168.1.102     server2.local

次に、ユーザーを設定します。

CREATE USER 'repl_user1'@'server1.local' IDENTIFIED BY 'password1';  // Server1
CREATE USER 'repl_user2'@'server2.local' IDENTIFIED BY 'password2';  // Server2

両方のサーバーが自分のホストと他のホストからの接続を受信し、それを正しいユーザーにマップするように動作するはずです。

于 2012-11-29T21:55:36.630 に答える