MySQL复制用户

DW2*_*4da 4 mysql

我目前有2个运行mysql 5.1的服务器.我将它们设置为主从.两者都有静态IP地址,不属于任何域.(目前他们在vmware局域网中)

问题是在mysql文档中它声明你必须为复制设置域用户,尽管我没有域.

我将如何设置用户以便让2台服务器复制?这是文档中的原始行:

CREATE USER 'repl'@'%.mydomain.com' IDENTIFIED BY 'slavepass';
Run Code Online (Sandbox Code Playgroud)

Sim*_*tal 6

假设如下

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