Oct 13

mysql 数据库同步 不指定

bkkkd , 20:30 , 开发应用 , 评论(0) , 引用(0) , 阅读(4789) , Via 本站原创 | |
今天做了一个测试,用两台电脑进行了mysql数据同步测试

A服务器: 192.168.1.2 主服务器master
B服务器: 192.168.1.3 副服务器slave

A服务器设置

1)建立一个可以用来同步的帐号

    #mysql –u root –p
    mysql>GRANT FILE ON *.* TO backup@192.168.1.3 IDENTIFIED BY ‘1234’;
    mysql>\exit

上面是Master开放一个账号backup密码1234给IP:192.168.1.3有档案处理的权限

如果想要在Slave上有权限执行 "LOAD TABLE FROM MASTER" 或 "LOAD DATA FROM MASTER" 语句的话,必须授予全局的 FILE 和 SELECT 权限:

mysql>GRANT FILE,SELECT,REPLICATION SLAVE ON *.* TO backup@192.168.1.3 IDENTIFIED BY '1234';


    在A机器上修改/etc/my.cnf
    在[mysqld]区段内加入参数

server-id=1  
log-bin  
binlog-do-db=backup  
#以下部分是把A机器配置为Slave
master-host=192.168.1.3
master-user=backup
master-password=1234
master-port=3306

a)server-id=1表示是本机的序号为1,一般来讲就是master的意思,server-id是同步数据库的唯一编号
b)log-bin表示打开binlog,打开该选项才可以通过I/O写到Slave的relay-log,也是可以进行replication的前提;
c)binlog-do-db=backup 表示需要备份的数据库是backup这个数据库
重启A服务器mysql

B服务器设置

server-id=2
master-host=192.168.1.2
master-user=username  
master-password=password  
master-port=3306 #主服务器端口  
master-connect-retry=60 #同步时间间隔为60秒  
replicate-do-db=backup
log-bin
binlog-do-db=backup

解释一下上面的内容
a)server-id=2表示本机器的序号;
b)master-host=192.168.37.188 表示本机做slave时的master为192.168.37.188;
c)master-user=username   这里表示master上开放的一个有权限的用户,使其可以从slave连接到master并进行复制;
d)master-password=password 表示授权用户的密码;
e)master-port=3306  master上MySQL服务Listen3306端口;
f)master-connect-retry=60  同步间隔时间;
g)replicate-do-db=backup   表示同步backup数据库;
h)log-bin 打开logbin选项以能写到slave的 I/O线程;
i)binlog-do-db=backup 表示别的机器可以同步本机的backup数据库.
最后重启两台服务器
发表评论
表情
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
打开HTML
打开UBB
打开表情
隐藏
记住我
昵称   密码   游客无需密码
网址   电邮   [注册]