1.编辑/etc/my.cnf (主从库都需修改,修改后重启mysql服务)
修改如下行:
server-id = 1 #这是数据库ID,此ID是唯一的,主库默认为1,其他从库以此ID进行递增,ID值不能重复,否则会同步出错;
log-bin = mysql-bin #二进制日志文件,此项为必填项,否则不能同步数据
sync_binlog=1 #开启binlog日志同步功能
#以下内容不加表示同步所有数据库
binlog-do-db=ourneeddb #需要同步的数据库
binlog-ignore-db=mysql #不同步mysql系统数据库,若还有其它不想同步的,继续添加
#可以指定要复制的库
replicate-do-db = test #在master端不指定binlog-do-db,在slave端用replication-do-db来过滤
replicate-ignore-db = mysql #忽略的库
#网上还有下面配置
#relay-log=mysqld-relay-bin
2.在主库创建用于同步的用户例如sqlsync
GRANT REPLICATION SLAVE ON *.* to 'sqlsync'@'%' identified by 'xxxxxxx';
3.查看主服务器状态,mysql> show master status;, 如图:
(注意:记录好File和Position,后面要用)
4.配置从数据库
配置连接主服务器的信息
mysql> stop slave;
mysql> CHANGE MASTER TO
-> MASTER_HOST='192.168.1.233',
-> MASTER_USER='sqlsync',
-> MASTER_PASSWORD='123456',
-> MASTER_LOG_FILE='mysql-bin.000002',
-> MASTER_LOG_POS=313;
mysql> start slave;
查看从服务器状态
mysql> show slave status \G;
5.测试数据同步
在主库上创建数据库,在从库上进行验证