先编辑master配置:
vim /etc/my.cnf
(加上红框部分。#server id部分:每个都有独一无二的id作为区分,这id可以用服务器ip后三位。#binary log:日志。#statement row mixed:三种监听方式)
其中三种情况:监听语句变化,还是磁盘变化,还是混合模式?
然后编辑slave的/etc/my.cnf:
(设置id,建立中继日志)
然后分别启动主和从:service mysqld start
接下来,主和从要建立联系:
登录mysql:
mysql -uroot -p
master建立授权帐号(这个帐号允许你复制master的二进制日志。一个replication client帐号,一个replication slave帐号):
(授权一个客户端帐号、一个从帐号。*.*:作用于所有库和表上,不像mongodb能单选某库某表。to 帐号repl,指定它发挥作用的ip:@192.168.%.%,即前缀是192.168都可以用。identitied by 'repl':指定密码为repl)
到目前为止,主服务器的日志、帐号、从服务器的relaylog好了,只需要通知从服务器连过来:
(master_log_file是当前master所用的二进制文件。master_log_pos是当前master的position。下面有查看方法)
见识下二进制日志:
目前用的最新的二进制日志是:
(mater机器)
看看当前master机器的状态:
(确实当前用的是mysql-bin.000003,position 278的意思是:我主服务器已经写到278位置了,你从服务器注意哈)
操作slave:
(reset slave:重置slave。然后设置对应master的相关信息)
查看slave的情况:show slave status \G
启动slave:
再查看状态就好了(第一行变成了waiting for master to send event):
接下来,不管在master是新建库、表,各种增删改查,在slave中都会看到相应的变化
查看mysql帐号: