MySQL主从复制的常见拓扑、道理说明以及怎样进步服从
然后我们再次查察会发明功效如下
声名这两个线程已经遏制了运行。此时再次行使 SHOW PROCESSLISTG呼吁,则没有功效表现 5.1、Slave I/O线程 Slave I/O 线程去毗连主处事器的Binlog dump 线程并要求其发送binlog日记中记录的更新的操纵,然后它将Binlog dump 线程发送的数据拷贝到从处事器上(也就是当地)的文件relay log中。 虽然要查察此线程是否运行,除了上面先容的要领,还可以行使
这时假如呈现下面的功效声名该线程正在运行
在上述功效一中我们可以看到1.row等于Slave I/O线程的信息,其State: Waiting for master to send event 暗示正在守候主处事器发送内容。虽然State不止这一个值,它尚有其余的值,下面列出了State的全部的值 1. Waiting for master update 在毗连到主处事器之前的初始状态 2. Connecting to master 该线程正在毗连主处事器,虽然假如我们的收集情形优秀的话,此状态我们险些是看不到的 3. Checking master version 这个状态产生的时刻也很是短暂,该状态在该线程和主处事器成立毗连之后产生。 4. Registering slave on master 在主处事器上面注册从处事器,每当有新的从处事器毗连进来往后都要在主处事器上面举办注册 5. Requesting binlog dump 向主处事器哀求binlog日记的拷贝 6. Waiting to reconnect after a failed binlog dump request 假如5中失败,则该线程进入就寝状态,此时State就是这个值,守候着去按期从头毗连主处事器,那这个周期的巨细可以通过CHANGE MASTER TO 来指定 7. Reconnecting after a failed binlog dump request 去从头毗连主处事器 8. Waiting for master to send event 此值就是我们上述功效所表现的,正常环境下我们查察的时辰一样平常都是这个值。其详细暗示是这个线程已经和主处事器成立了毗连,正在守候主处事器上的binlog 有更新,假如主处事器的Binlog dump线程一向是空闲的状态的话,那此线程会守候很长一段时刻。虽然也不是一向守候下去,假如时刻到达了slave_net_timeout划定的时刻,会产生守候超时的环境,在这种环境下I/O线程会从头去毗连主处事器 9. Queueing master event to the relay log 该线程已经读取了Binlog dump线程发送的一个更新变乱而且正在将其拷贝到relay log文件中 10. Waiting to reconnect after a failed master event read 当该线程读取Binlog dump 线程发送的更新变乱失败时,该线程进入就寝状态守候去从头毗连主处事器,这个守候的时刻默认是60秒,虽然这个值也可以通过CHANGE MASTER TO来配置 11. Reconnecting after a failed master event read 该线程去从头毗连主处事器,当毗连乐成往后,那这个State的值会改变为 Waiting for master to send event 12. Waiting for the Slave SQL thread to free enough relay log space relay log space的巨细是通过relay_log_space_limit来设定的,跟着relay logs变得越来越大全部的巨细合起来会高出这个设定值。这时该线程会守候SQL线程开释足够的空间删除一些relay log文件 13. Waiting for slave mutex on exit 当线程遏制的时辰会短暂的呈现该环境 以上就是State也许会呈现的值,以及都是在什么环境下呈现。 5.2、Slave SQL线程 Slave SQL线程是在从处事器上面建设的,,首要认真读取由Slave I/O写的relay log文件并执行个中的变乱。 在上述功效一中2.row等于Slave SQL线程的信息,同样有一个State暗示该线程的当前状态。 下面也列出了State全部也许呈现的环境。 1. Waiting for the next event in relay log 该状态是读取relay log之前的初始状态 2. Reading event from the relay log 该状态暗示此线程已经在relay log中读取了一个变乱筹备执行 3. Making temp file 该状态暗示此线程正在执行LOAD_DATA_INFILE而且正在建设一个姑且文件来生涯从处事器将要读取的数据 4. Slave has read all relay log; waiting for the slave I/O thread to update it 该线程已经处理赏罚完了relay log中的全部变乱,此刻正在守候slave I/O线程更新relay log文件 5. Waiting for slave mutex on exit 当线程遏制的时辰会短暂的呈现该环境 上面是对从处事器上的两个线程的简朴的先容,在运行进程中我们会发明这两个线程都离不开的文件就是relay log文件,下面我们简朴先容一下relay log文件。 5.3、relay log文件 relay log 和 主处事器上的bin log很相似,都是一系列的文件,这些文件包罗那些包括描写数据库改变的操纵变乱的文件和索引文件,这个索引文件是relay logs文件的名称荟萃。 relay log 文件和 bin log文件一样,也是二进制文件,不能直接查察,必要行使mysql自带器材mysqlbinlog查察。 ] # mysqlbinlog mysql安装路径/data/relay-log文件 虽然其索引文件的内容我们是可以直接行使 vim查察的。 (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |