0

我正在尝试mysql replication在网络上的两个系统上设置多主机。两个独立的数据库服务器在 运行mysqllocalhost我如何为它们创建一个replication用户,hosts因为它们共享相同的名称。

我可以这样做,但这似乎不是正确的做法。

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 (server1)

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

/etc/hosts (server2)

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 回答