一 主从配置的原理
mysql的Replication是一个异步的复制过程,从一个mysql instance(Master)复制到另一个mysql instance(Slave), 在master与slave之间的整个复制过程主要由三个线程完成,分别为Master端得IO线程和Slave端得IO线程和Sql线程。整
个过程如下:
1 Slave上的IO线程连接上Master,并请求从指定日志的指定位置之后的日志内容
2 Master收到来自Slave的IO线程请求后,通过Master上的IO线程根据请求信息读取日志信息返回给Slave端IO线程。
除了日志所包含的信息之外,还包含本次返回信息在Master端得Binary Log文件的名称以及位置
3 Slave的IO线程接收到信息后,将接收到的日志内容依次写到Slave端得RelayLog文件末尾,并读取Master端得Binary
Log文件名和位置记录到master-info中,以便下次的IO请求
4 Slave的Sql线程检测到Relay Log中有新增内容后,马上解析可执行的Sql语句,并在本机上执行
2 在主数据库服务器中为从服务器添加一个拥有访问主库的用户,其命令为:
GRANT REPLICATION SLAVE ON *.* TO ‘username’@’www.linuxidc.net’ IDENTIFIED BY 'password'
show master status\G
可查看主服务器状态
在从服务器上登录
mysql start slave
(启动从机) 然后show slave status \G ,如果以下两项都为yes即是从机配置成功。
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
从数据库服务器的通常操作命令有:
start slave; ####启动复制线程
stop slave; ####停止复制线程
reset slave; ####重置复制线程
change master to; ###动态改变到主服务器的配置 如change master to master_user='username';