我目前有2个运行mysql 5.1的服务器.我将它们设置为主从.两者都有静态IP地址,不属于任何域.(目前他们在vmware局域网中)
问题是在mysql文档中它声明你必须为复制设置域用户,尽管我没有域.
我将如何设置用户以便让2台服务器复制?这是文档中的原始行:
CREATE USER 'repl'@'%.mydomain.com' IDENTIFIED BY 'slavepass';
Run Code Online (Sandbox Code Playgroud)
假设如下
SERVER1 (192.168.0.100)
SERVER2 (192.168.0.200)
Run Code Online (Sandbox Code Playgroud)
如果您正在复制,那么SERVER1将需要能够访问SERVER2上的MySQL(如果SERVER2需要访问SERVER1,则可能反之亦然).为此,您需要一个允许从其他服务器访问的USER,即
-- User on SERVER1 that SERVER2 would use to repllicate
CREATE USER 'repl'@'192.168.0.200' IDENTIFIED BY 'slavepass';
-- User on SERVER2 that SERVER1 would use to repllicate
CREATE USER 'rep2'@'192.168.0.100' IDENTIFIED BY 'slavepass';
Run Code Online (Sandbox Code Playgroud)
为了便于使用,您可能希望稍后将这些映射到域名,即
SERVER1 (192.168.0.100) server1.mydomain.com
SERVER2 (192.168.0.200) server2.mydomain.com
Run Code Online (Sandbox Code Playgroud)
然后为了保持一致性,您可以在SERVER1和SERVER2上拥有以下用户
-- User on SERVER1 that SERVER2 would use to repllicate
CREATE USER 'rep'@'%.mydomain.com' IDENTIFIED BY 'slavepass';
-- User on SERVER2 that SERVER1 would use to repllicate
CREATE USER 'rep'@'%.mydomain.com' IDENTIFIED BY 'slavepass';
Run Code Online (Sandbox Code Playgroud)
只要物理服务器能够解析它们,即使您可以将以下内容添加到hosts文件中,该域甚至不需要是真实的.
-- On SERVER1 add the following into /etc/hosts
server2.mydomain.com 192.168.0.200
-- On SERVER2 add the following into /etc/hosts
server1.mydomain.com 192.168.0.100
Run Code Online (Sandbox Code Playgroud)
如果您的服务器是基于Windows的,您可能会找到主机 C:\Windows\system32\drivers\etc\hosts
| 归档时间: |
|
| 查看次数: |
4348 次 |
| 最近记录: |