MySQL基础之二:主从复制.doc
PAGE
PAGE1
MySQL基础之二:主从复制
#mysql主从复制逻辑:
1.从库执行startslave开启主从复制。
2.从库请求连接到主库,并且指定binlog文件以及位置后发出请求。
3.主库收到从库请求后,将信息返回给从库,除了信息日志外,还包含新的文件名称以及下一个更新节点。
4.从库接收到主库发送的信息后,会将信息更新至自身的relaylog中,并且将新的文件名记录到master-info中。
5.从库SQL线程会检测本地relay-log,如有变化,会将信息解析为SQL可执行语句并且执行该语句,同时在relay-log.info中记录当前文件名以及位置点。
mysql主从复制操作方法:
#主库:
1.保证bin-log的开启(可在mysql中利用showvariableswherevariable_namelikebin%中查看,其中栏位值为ON则为开启,OFF则为关闭bin-log具体逻辑取决于my.cnf设定值中的bin-log)
2.新建用户并且设定其为replicationslave账户(grantreplicationslaveondb_name.tb_nametouser_name@host_nameidentifiedbypassword;)
3.对主库锁表只读(flushtablewithreadlock;)
4.收集master的信息,包括(replicationslaveusernameandpassword,masterstatusfilenameandmasterstatusposition(getmasterstatus:showmasterstatus))
5.导出主库数据,解锁(unlocktables;)
#从库:
1.将主库数据导入从库
2.将从库连接主库(changemastertomaster_host=host_name,master_port=master_port,master_user=master_user,paster_password=master_password,master_log_file=master_status_log_file,master_log_pos=master_status_log_position);
3.开启主从复制,startslave;查看从库状态是否OK(showslavestatus\G;)如果确定状态为NO时,则需要重新启动master和slave,再次检查状态是否OK