如何创建命名数据库主机

时间:2012-11-29 21:11:11

标签: mysql replication host createuser

我正在尝试在网络上的两个系统上设置多主机mysql replication。这两个单独的数据库服务器在mysql处运行localhost,如何为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

但我不知道如何给主人一个名字。 谢谢你的帮助。

1 个答案:

答案 0 :(得分: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

这应该有效,因此两台服务器都会从自己的主机和另一台服务器接收连接,并将其映射到正确的用户。

相关问题