我正在尝试在网络上的两个系统上设置多主机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
但我不知道如何给主人一个名字。 谢谢你的帮助。
答案 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
这应该有效,因此两台服务器都会从自己的主机和另一台服务器接收连接,并将其映射到正确的用户。