要问PHP教程哪家强,六星教育来帮你忙

时间:2022-11-03 06:46:06 | 浏览:10321

很多人学习PHP编程的时候,都不知道如何去选择合适的PHP教程。六星教育最近新推出PHP大神进阶班,专门针对需要技术进阶的同学,假如你具备1.2年的工作项目经验,对升职加薪有急切渴望,不满足现有技术水平,都可以来六星教育了解看看。很多程序员

很多人学习PHP编程的时候,都不知道如何去选择合适的PHP教程。六星教育最近新推出PHP大神进阶班,专门针对需要技术进阶的同学,假如你具备1.2年的工作项目经验,对升职加薪有急切渴望,不满足现有技术水平,都可以来六星教育了解看看。很多程序员在以往的课程中经过学习,大都取得了令自己满意的薪资水平,有一个3k—5k薪资的增长。

为什么六星教育IT教程这么令人满意,今天就让我来为大家分享一篇关于MySQL的技术文,让大家更能直观感受到六星教育PHP教程的魅力。

MySQL5.5之前的版本里面,MySQL的默认采用异步复制,虽然效率高,但主库和从库的数据不一致性的问题很大,例如:网络故障、停电等各种原因,这样非常容易存在:

当主库写入一个事务成功并提交后,但是由于从库网络延迟没有及时接受到主库传输的Binlog日志,恰巧主库突然宕机,那此时从库就可能损失掉这个事务,从而造成主从不一致的状况。

因此官方在MySQL5.5版本后引入了半同步复制的概念

半同步复制的原理:

采用半同步复制,是为了能保证主库上的每一个Binlog事务都被可靠的传输到从库上,主库在每次事务成功提交时,并不会及时反馈给客户端,而是等待其中的一个从库接收到Binlog事务并成功写入中继日志中,从库才会返回commit反馈成功给主库。主库最后做事务成功的提交。

半同步复制保证了binlog事务成功提交后,日志事务可保障写入到主库的binlog日志和从库的的中继日Relay log上,从而进一步保证了数据的一致性。

上图为半同步复制的步骤:

在半同步复制模式下:图1、2、3中任何一个步骤中主库宕机,则事务不会成功提交。从库也不会得到日志,这时的主从复制数据是一致的。

那半同步复制会不会变成异步复制呢?

如果第4步的时,如果网络延迟故障或从库宕机,那么主库的Binlog就无法及时传送事务给从库,这时主库上的事务会等待一段时间,时间长短由参数rpl_semi_master_timeout设置的毫秒数来决定,如果Binlog在这段时间内都无法成功推送到从库上,MySQL将自动把复制模式调整为异步模式,这时事务才能正常返回并提交结果给客户端。

半同步复制很大程度上取决于主从库之间的网络情况,往返时延RTT越小决定了从库的实时性越好。

实施方案:

为更好体现半同步的方案,本次采用一主两从的主从链搭建,而且进行此实验之前我们已经搭建好异步复制的环境了。搭建半同步复制不过是在异步的基础上添加一些插件而已。

172.33.22.30 master

172.33.26.150 slave

172.33.17.200 slave

1、检查一下当前版本数据库是否支持动态扩展,我们这里的版本都是一致的,因此在一台机器上检查即可。

mysql> select @@have_dynamic_loading;

+------------------------+

| @@have_dynamic_loading |

+------------------------+

| YES |

+------------------------+

1 row in set (0.00 sec)

2、确认支持动态添加插件后,再检查下MySQL的$MYSQL/lib/plugin目录下是否存在主库插件“semisync_master.so”和从库插件“semisync_slave.so”。

[root@:vg_adn_tidbCkhsTest /usr/local/mysql/lib/plugin]#ls #这里只列出了一部分而已

adt_null.so libtest_framework.so libtest_sql_lock.so mysqlx.so

authentication_ldap_sasl_client.so libtest_services.so libtest_sql_processlist.so rewrite_example.so

auth_socket.so libtest_services_threaded.so libtest_sql_replication.so rewriter.so

connection_control.so libtest_session_detach.so libtest_sql_shutdown.so semisync_master.so

debug libtest_session_info.so libtest_sql_sqlmode.so semisync_slave.so

group_replication.so libtest_session_in_thd.so libtest_sql_stored_procedures_functions.so test_security_context.so

接下来开始在主库上安装插件

mysql> install plugin rpl_semi_sync_master SONAME "semisync_master.so";

Query OK,0 rows affected (0.00 sec)

紧接着在两个从库上安装插件

MySQL [(none)]> install plugin rpl_semi_sync_slave SONAME "semisync_slave.so";

Query OK, 0 rows affected (0.01 sec)

完成安装后,可以使用语句来查看一下:

mysql> select * from mysql.plugin;

+----------------------+--------------------+

| name | dl |

+----------------------+--------------------+

| rpl_semi_sync_master | semisync_master.so |

+----------------------+--------------------+

1 row in set (0.00 sec)

如上就说明我们已经安装插件成功。并且系统重启的时候也会自动加载该插件,不需要担心。

3、现在需要分别在主库和从库上配置参数打开半同步semi-sync,默认情况下半同步设置不打开的,主库上配置全局参数。

mysql> set global rpl_semi_sync_master_enabled=1;

Query OK, 0 rows affected (0.00 sec)

mysql> set global rpl_semi_sync_master_timeout=10000;

#注意这是毫秒单位,因此这个数是10秒。

Query OK, 0 rows affected (0.00 sec)

两个从库上也需要配置:

MySQL [(none)]> set global rpl_semi_sync_slave_enabled=1;

Query OK, 0 rows affected (0.00 sec)

注意:由于之前已经配置过异步复制,因此在这里需要重启一下从库上的I/O线程。(如果是全新配置的半同步复制则不需要这一步骤。)

MySQL [(none)]> stop slave io_thread;

Query OK, 0 rows affected (0.00 sec)

MySQL [(none)]> start slave io_thread;

Query OK, 0 rows affected (0.00 sec)

如果有多台slave,每台都按照这样子来执行操作。到此,半同步复制就搭建成功了。

在主库上使用下面命令执行以下看看半同步复制的状态信息:

mysql> show status like "%semi_sync%";

+--------------------------------------------+-------+

| Variable_name | Value |

+--------------------------------------------+-------+

| Rpl_semi_sync_master_clients | 2 |

| Rpl_semi_sync_master_net_avg_wait_time | 0 |

| Rpl_semi_sync_master_net_wait_time | 0 |

| Rpl_semi_sync_master_net_waits | 0 |

| Rpl_semi_sync_master_no_times | 0 |

| Rpl_semi_sync_master_no_tx | 0 |

| Rpl_semi_sync_master_status | ON |

| Rpl_semi_sync_master_timefunc_failures | 0 |

| Rpl_semi_sync_master_tx_avg_wait_time | 0 |

| Rpl_semi_sync_master_tx_wait_time | 0 |

| Rpl_semi_sync_master_tx_waits | 0 |

| Rpl_semi_sync_master_wait_pos_backtraverse | 0 |

| Rpl_semi_sync_master_wait_sessions | 0 |

| Rpl_semi_sync_master_yes_tx | 0 |

+--------------------------------------------+-------+

14 rows in set (0.00 sec)

重点关注这三个值:

1、Rpl_semi_sync_master_status:值为ON,表示半同步复制目前处于打开状态。

2、Rpl_semi_sync_master_no_tx:这个值表示当前主库有多少个事务不是半同步模式下从库及时响应的。

3、Rpl_semi_sync_master_yes_tx:这个值表示当前主库上有多少个事务是通过半同步复制到从库的。

日常维护中,可查看这三项值来判断半同步复制是否是正常的。

看完了,是否有触动呢?更多详情资讯可来六星教育了解哦!新班即将开启,心动不如行动,错过后悔一年。

相关资讯

「非凡十年·看西藏」办好人民满意的教育

湖北襄阳襄州区“以案促改”加强党员干部警示教育

来源:人民网-湖北频道“要正确认识所犯错误的思想根源,诚心接受组织做出的处理决定,提高党性修养,在今后的工作中丢掉思想包袱,继续为党和人民作贡献……”日前,湖北襄阳襄州区纪委监委相关负责人带领第六纪检监察室、案件审理室等部门工作人员在张家集

十堰市郧阳区:教育考试突出“三进解三难”

荆楚网(湖北日报网)讯(通讯员 刘开春)12月1日,郧阳区教育局局长张辉给区一中校长打电话:“毛校长,明年高考体检学生就不用到医院了,让有资质的医院把体检车开进校园为学生为检”,局长还没说完,校长连声道谢:“这可给我解决了老大难,以前高考体

郧阳区政法队伍教育整顿总结暨“回头看”工作推进会召开

7月13日,郧阳区政法队伍教育整顿总结暨“回头看”工作推进会召开。郧阳区委书记、区长胡先平出席会议并讲话,区领导任杰、王成、高清华参加会议,区委常委、政法委书记党永生主持会议。会上,区委常委、组织部长、区政法队伍教育整顿领导小组副组长任杰宣

武汉用好用活典型案例纪法教育筑牢廉洁防线

中央纪委国家监委网站 张易博日前,湖北省武汉市蔡甸区纪委监委制作的警示教育片《不守纪法走向深渊》在该区各机关单位组织播放,“片中人”的忏悔让观看的党员干部很受触动。武汉市纪委监委深入开展党员干部纪法教育,通过召开警示教育大会,组织观看警示教

独家:新政之下,江岸的教育光环到底有多香?

01.江岸教育的光环,育才家长的傲娇!武汉的家长中,江岸的家长最傲娇;江岸的家长中,育才的家长最傲娇。在和这么多家长打交道的过程中,我得出来了这个结论。举个例子吧,大部分区的试卷在他们眼中都只是拿来练手的。一张元调试卷,只有江岸的家长说“难

6月24日起开始报名!江岸区教育局发布小升初入学指南

楚天都市报6月7日讯(记者国倩 通讯员杨国涛 胡蕴芬)今日,武汉市江岸区教育局发布2020年小升初入学指南,该通知显示,6月10日至7月10日期间,家长可查询“2020年江岸区义务段公办学校入学服务范围预安排”。6月24日至26日,为公办初

友情链接

SEO域名抢注宝宝起名网妈妈知道币圈林俊杰歌迷网三只松鼠资讯网生肖羊运势网贵州茅台A股电子烟品牌排名网武功山旅游攻略创维数字A股郑姓兔宝宝起名古玩收藏网京东JD美股游泳运动网苹果手机评测网双鱼座紫薇网戴尔电脑评测网釜山旅行网
PHP编程知识网-php开源建站系统、PHP程序员网站开发、php编程工具、php菜鸟教程下载、PHP网络编程教学、php网络编程、php工程师、php菜鸟教程数据库、PHP网站开发、PHP精品源码网站、php程序员入门、php零基础入门教程、php源码搭建网站流程、php从入门到精通第2版、php开发简单网站、php制作网站实例、php网站开发实例教程源代码、php中文网破解版、php中文网。
php编程知识 yoceo.cn ©2022-2028版权所有