我正在尝试在网络上的两个系统上设置多主mysql
复制
。两个独立的数据库服务器在 localhost
上运行 mysql
,我如何为 hosts
创建一个 replication
用户他们有相同的名字。
我可以这样做,但这似乎不是正确的做法。
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
但我不知道如何给主机命名。 感谢您的帮助。
最佳答案
您可以使用 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
这应该可行,以便两台服务器都接收来自自己主机和另一台主机的连接,并将其映射到正确的用户。
关于mysql - 如何创建命名数据库主机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13634796/