mysql主从同步原理:
(1) master将改变记录到二进制日志(binary log)中(这些记录叫做二进制日志事件,binary log events),然后通知存储引擎(I/O thread)提交事务;
(2) slave将master的binary log events拷贝到它的中继日志(relay log);
(3) slave重做中继日志中的事件,将改变反映它自己的数据。
mysql主从操作步骤:
1.编辑matser数据库的my.cnf文件,在[mysqld]下面插入以下配置,完成后重启mysql
#server-id不能和其他数据库重复 server-id=1 log-bin=master-bin log-bin-index=master-bin.index
2、编辑slave数据库的my.cnf文件,在[mysqld]下面插入以下配置,完成后重启mysql
#server-id不能和其他数据库重复
server-id=2 relay-log-index=slave-relay-bin.index relay-log=slave-relay-bin
3、在master数据库创建新用户并去关联slave数据库
mysql> create user 用户;
mysql> GRANT REPLICATION SLAVE ON *.* TO '用户'@'salve数据库的ip' IDENTIFIED BY '密码'; mysql> flush privileges;
4、在master数据库中查看关联参数
这里记下File与Position这俩参数,在下面会用的到
即:master-bin.000002 与 316
5、在slave数据库去连接master数据库
change master to master_host='master数据库的ip',master_port=3306,master_user='用户',master_password='密码',master_log_file='File',master_log_pos=Position号;
6、在salve数据库中开启slave模式,并查看主从状态
#开启salve模式
start slave;
#查看主从状态是否建立
show slave status G;
注意到红线画的都为yes,一般主从同步就建立了,这时候去master数据库上去创建表或者数据库试试吧,你会发现slave数据库上也会有了~