WordPress Mysql 8.0

WordPress 选用 Mysql 8.0的优点

  1. 稳,MySQL 8.0已发布两年,版本较为稳定。
  2. 快,Mysql官方表示MySQL 8要比 MySQL 5.7快 2 倍,Mysql 5.7比Mysql 5.6快3倍,说明Mysql 8.0 比MySQL 5.6提升6倍!

WordPress 选用 Mysql 8.0的缺点

  1. 贵,Mysql 8.0需要4G以上内存主机,目前福安只在8G以上主机安装Mysql 8.0。
  2. 兼容性,目前大多WordPress主题插件当年是基于5.x版本开发,才有Mysql 8.0有意想不到的惊喜,不过十万级、百万级主流插件的兼容性应该不用担心。

MySQL 1.0到Mysql 8.0版本历程

1995年,MySQL 1.0发布,仅供内部使用。

1996年,MySQL 3.11.1发布,直接跳过了MySQL 2.x版本。

1999年,MySQL AB公司成立。同年,发布MySQL 3.23,该版本集成了Berkeley DB存储引擎。该引擎由Sleepycat公司开发,支持事务。在集成该引擎的过程中,对源码进行了改造,为后续可插拔式存储引擎架构奠定了基础。

2000年,ISAM升级为MyISAM存储引擎。同年,MySQL基于GPL协议开放源码。

2002年,MySQL 4.0发布,集成了后来大名鼎鼎的InnoDB存储引擎。该引擎由Innobase公司开发,支持事务,支持行级锁,适用于OLTP等高并发场景。

2005年,MySQL 5.0发布,开始支持游标,存储过程,触发器,视图,XA事务等特性。同年,Oracle收购Innobase公司。

2008年,Sun以10亿美金收购MySQL AB。

2008年发布MySQL 5.1,其开始支持定时器(Event scheduler),分区,基于行的复制等特性。

2009年,Oracle以74亿美金收购Sun公司。

2010年,MySQL 5.5发布,InnoDB代替MyISAM成为MySQL默认的存储引擎

2013年,MySQL 5.6发布

GTID复制。
无损复制。
延迟复制。
基于库级别的并行复制。
mysqlbinlog可远程备份binlog。
对TIME, DATETIME和TIMESTAMP进行了重构,可支持小数秒。DATETIME的空间需求也从之前的8个字节减少到5个字节。
Online DDL。ALTER操作不再阻塞DML。
可传输表空间(transportable tablespaces)。
统计信息的持久化。避免主从之间或数据库重启后,同一个SQL的执行计划有差异。
全文索引。
InnoDB Memcached plugin。
EXPLAIN可用来查看DELETE,INSERT,REPLACE,UPDATE等DML操作的执行计划,在此之前,只支持SELECT操作。
分区表的增强,包括最大可用分区数增加至8192,支持分区和非分区表之间的数据交换,操作时显式指定分区。
Redo Log总大小的限制从之前的4G扩展至512G。
Undo Log可保存在独立表空间中,因其是随机IO,更适合放到SSD中。但仍然不支持空间的自动回收。
可dump和load Buffer pool的状态,避免数据库重启后需要较长的预热时间。
InnoDB内部的性能提升,包括拆分kernel mutex,引入独立的刷新线程,可设置多个purge线程。
优化器性能提升,引入了ICP,MRR,BKA等特性,针对子查询进行了优化。
可以说,MySQL 5.6是MySQL历史上一个里程碑式的版本,这也是目前生产上应用得最广泛的版本。

2015年,MySQL 5.7发布

组复制
InnoDB Cluster
多源复制
增强半同步(AFTER_SYNC)
基于WRITESET的并行复制。
在线开启GTID复制。
在线设置复制过滤规则。
在线修改Buffer pool的大小。
在同一长度编码字节内,修改VARCHAR的大小只需修改表的元数据,无需创建临时表。
可设置NUMA架构的内存分配策略(innodb_numa_interleave)。
透明页压缩(Transparent Page Compression)。
UNDO表空间的自动回收。
查询优化器的重构和增强。
可查看当前正在执行的SQL的执行计划(EXPLAIN FOR CONNECTION)。
引入了查询改写插件(Query Rewrite Plugin),可在服务端对查询进行改写。
EXPLAIN FORMAT=JSON会显示成本信息,这样可直观的比较两种执行计划的优劣。
引入了虚拟列,类似于Oracle中的函数索引。
新实例不再默认创建test数据库及匿名用户。
引入ALTER USER命令,可用来修改用户密码,密码的过期策略,及锁定用户等。
mysql.user表中存储密码的字段从password修改为authentication_string。
表空间加密。
优化了Performance Schema,其内存使用减少。
Performance Schema引入了众多instrumentation。常用的有Memory usage instrumentation,可用来查看MySQL的内存使用情况,Metadata Locking Instrumentation,可用来查看MDL的持有情况,Stage Progress instrumentation,可用来查看Online DDL的进度。
同一触发事件(INSERT,DELETE,UPDATE),同一触发时间(BEFORE,AFTER),允许创建多个触发器。在此之前,只允许创建一个触发器。
InnoDB原生支持分区表,在此之前,是通过ha_partition接口来实现的。
分区表支持可传输表空间特性。
集成了SYS数据库,简化了MySQL的管理及异常问题的定位。
原生支持JSON类型,并引入了众多JSON函数。
引入了新的逻辑备份工具-mysqlpump,支持表级别的多线程备份。
引入了新的客户端工具-mysqlsh,其支持三种语言:JavaScript, Python and SQL。两种API:X DevAPI,AdminAPI,其中,前者可将MySQL作为文档型数据库进行操作,后者用于管理InnoDB Cluster。
mysql_install_db被mysqld –initialize代替,用来进行实例的初始化。
原生支持systemd。
引入了super_read_only选项。
可设置SELECT操作的超时时长(max_execution_time)。
可通过SHUTDOWN命令关闭MySQL实例。
引入了innodb_deadlock_detect选项,在高并发场景下,可使用该选项来关闭死锁检测。
引入了Optimizer Hints,可在语句级别控制优化器的行为,如是否开启ICP,MRR等,在此之前,只有Index Hints。
GIS的增强,包括使用Boost.Geometry替代之前的GIS算法,InnoDB开始支持空间索引。

2018年,MySQL 8.0发布

引入了原生的,基于InnoDB的数据字典。数据字典表位于mysql库中,对用户不可见,同mysql库的其它系统表一样,保存在数据目录下的mysql.ibd文件中。不再置于mysql目录下。
Atomic DDL。
重构了INFORMATION_SCHEMA,其中,部分表已重构为基于数据字典的视图,在此之前,其为临时表。
PERFORMANCE_SCHEMA查询性能提升,其已内置多个索引。
不可见索引(Invisible index)。
降序索引。
直方图。
公用表表达式(Common table expressions)。
窗口函数(Window functions)。
角色(Role)。
资源组(Resource Groups),可用来控制线程的优先级及其能使用的资源,目前,能被管理的资源只有CPU。
引入了innodb_dedicated_server选项,可基于服务器的内存来动态设置innodb_buffer_pool_size,innodb_log_file_size和innodb_flush_method。
快速加列(ALGORITHM=INSTANT)。
JSON字段的部分更新(JSON Partial Updates)。
自增主键的持久化。
可持久化全局变量(SET PERSIST)。
默认字符集由latin1修改为utf8mb4。
默认开启UNDO表空间,且支持在线调整数量(innodb_undo_tablespaces)。在MySQL 5.7中,默认不开启,若要开启,只能初始化时设置。
备份锁。
Redo Log的优化,包括允许多个用户线程并发写入log buffer,可动态修改innodb_log_buffer_size的大小。
默认的认证插件由mysql_native_password更改为caching_sha2_password。
默认的内存临时表由MEMORY引擎更改为TempTable引擎,相比于前者,后者支持以变长方式存储VARCHAR,VARBINARY等变长字段。从MySQL 8.0.13开始,TempTable引擎支持BLOB字段。
Grant不再隐式创建用户。
SELECT … FOR SHARE和SELECT … FOR UPDATE语句中引入NOWAIT和SKIP LOCKED选项,解决电商场景热点行问题。
正则表达式的增强,新增了4个相关函数,REGEXP_INSTR(),REGEXP_LIKE(),REGEXP_REPLACE(),REGEXP_SUBSTR()。
查询优化器在制定执行计划时,会考虑数据是否在Buffer Pool中。而在此之前,是假设数据都在磁盘中。
ha_partition接口从代码层移除,如果要使用分区表,只能使用InnoDB存储引擎。
引入了更多细粒度的权限来替代SUPER权限,现在授予SUPER权限会提示warning。
GROUP BY语句不再隐式排序。
MySQL 5.7引入的表空间加密特性可对Redo Log和Undo Log进行加密。
information_schema中的innodb_locks和innodb_lock_waits表被移除,取而代之的是performance_schema中的data_locks和data_lock_waits表。
引入performance_schema.variables_info表,记录了参数的来源及修改情况。
增加了对于客户端报错信息的统计(performance_schema.events_errors_summary_xxx)。
可统计查询的响应时间分布(call sys.ps_statement_avg_latency_histogram())。
支持直接修改列名(ALTER TABLE … RENAME COLUMN old_name TO new_name)。
用户密码可设置重试策略(Reuse Policy)。
移除PASSWORD()函数。这就意味着无法通过“SET PASSWORD … = PASSWORD(‘auth_string’) ”命令修改用户密码。
代码层移除Query Cache模块,故Query Cache相关的变量和操作均不再支持。
BLOB, TEXT, GEOMETRY和JSON字段允许设置默认值。
可通过RESTART命令重启MySQL实例。

网站http不能访问,https可以访问

今天遇到一个客户的网站,出现的状况是“网站http不能访问,https可以访问”。以前也遇到http访问错误的情况,当时的情况是SSL证书过期造成访问错误。

这次也按照这个情况排除,更换证书后依旧如此。有个可能性是被强了,于是用国外服务器访问,发现可以正常上网。因此确认被墙了。

网站被强的原因:网站有敏感关键词、整个网站被审查。由于这个是企业站点,整站被墙的可能性比较低,,最可能的原因就是网站有敏感关键词。通过分析网站内容,结合中国特色,更换了一批特色的关键词。

这种情况过一段时间应该可以恢复访问。

图书系列:这才是中国最好的语文书

《这才是中国最好的语文书》叶开,作家,《收获》杂志副编审,著有长篇小说《口干舌燥》《我的八叔传》,被评论界称为“上海的王朔,中国的拉伯雷”。因出版作品《对抗语文》,将公众对语文教育长期积累的负面印象激发出来,引发大众热议。如今,他编写本书旨在用自己的实际行动来对抗现行语文教育,其写作姿态已然成为一个新的现象。

图书系列:参与式语文教师培训资源

《写作教学教什么》是根据国培标准设计的参与式语文教师培训教材,在教材结构上有所创新,包括理论、课例、共同备课这3个工作坊,以及光盘资源,设计了读者的学习方式,实现了教材的立体化,体现了培训的案例式、情境式和参与式,堪称“纸质版的在线教育”。

图书系列:正面管教

没有哪个父母不为了孩子而竭尽全力,但最美好的愿望却不一定给孩子带来最好的结果。自1981年《正面管教》第一版出版以来,《正面管教》已经成为了管教孩子的“黄金准则”,《正面管教》被翻译成16种语言,在美国销量超过400万册,在美国之外的国家销量超过200万册。自1987年第一次修订之后,每10年修订一次,《正面管教》根据英文原版的第三次修订版(2006年出版)翻译,该版首印数为70多万册。

让数百万孩子、家长和老师受益终身的经典之作。自1981年《正面管教》第一版出版以来,《正面管教》已经成为了管教孩子的“黄金准则”。

图书系列:心智图

心智图《心智图增强你的记忆力和注意力》作者为销售千万册的畅销书作家、心智图的发明人!世界记忆锦标赛的创办者。英国《独立报》票选为十大复习指南之一。帮助孩子开发惊人脑力,微软、波音、迪士尼、IBM、甲骨文、英国航空、通用电器等公司都在用托尼•巴赞的心智图!要增强记忆力、想象力与联想力,就绝对不能错过这本入门书!增强记忆力与注意力是学生通往成功的捷径,希望提高学习成绩的孩子,关心子女教育的家长。

语文背诵篇目

宁德市高中一、二年级语文科教学和统考范围
                                                2015年8月29日
 
高一(上)
高一(下)
高二(上)
高二(下)
阅读
阅读
阅读
阅读
  必修一、二
  必修三、四
  必修五、唐宋诗词鉴赏、中外传记、补充课外文言史传(5篇)
 
  唐宋八大家散文、外国小说欣赏、中国现当代散文鉴赏
语用
语用
语用
语用
必考:成语(词语)使用;病句辨析与修改;标点符号。
建议:适当补充语法知识(短语、单句、复句、句群等内容)教学
  必考:成语(词语)使用;语言表达简明、连贯、得体。
选考:高一(上)必考内容
 
必考:成语(词语)使用;句式的仿写和变换(含下定义);语言表达准确、鲜明、生动。
选考:高一必考内容
建议:适当补充常见修辞方法教学。
必考:成语(词语) 使用;语段压缩和扩展;图文转换。
选考:高一、高二(上)必考内容。
 
背诵
背诵
背诵
背诵
初中诗歌26首,必修一、二必背篇目
初中词曲8首,必修三、四必背篇目
  初中文赋1-8(共8篇),必修五《逍遥游》,《唐宋诗词鉴赏》必背9首
初中文赋9-16(共8篇),国家课标1卷高中必背篇目14篇
作文(60分)
作文(60分)
作文(60分)
作文(60分)
记叙文
记叙文或议论文
议论文或记叙文
议论文或记叙文

一、《唐宋诗词鉴赏》必读篇目(15首, 1-9首为必背篇目):
1.《汉江临眺》2.《塞上听吹笛》3.《西塞山怀古》 4.《望月怀远》5.《房兵曹胡马》6.《将进酒》7.《江城子》8.《菩萨蛮》9.《定风波》10.《蝶恋花》11.《武陵春》12.《扬州慢》13.《苏幕遮》14.《卖炭翁》15.《商山早行》
二、《唐宋八大家散文鉴赏》必读篇目(6篇):
     1.《祭十二郎文》2.《种树郭橐驼传》3.《秋声赋》
4.《放鹤亭记》5.《六国论》6.《答司马谏议书》
三、补充课外文言史传文必读篇目(5篇):
     1.《烛之武退秦师》2.《荆轲刺秦王》3.《廉颇蔺相如列传》4.《苏武传》5.《张衡传》
四、《中国现当代散文鉴赏》必读篇目(6篇):
     1.《灯下漫笔》2.《菜园小记》3.《渐》4.《荷塘月色》5.《我的母亲》6.《豆腐颂》
    五、《外国小说欣赏》必读篇目(8篇):
1.《桥边老人》 2.《炮兽》 3.《丹柯》 4.《娜塔莎》 5.《清兵卫与葫芦》 6.《牲畜林》
7.《山羊兹拉特》 8.《沙之书》
六、初中诗歌26首
1.《关雎》 2.《蒹葭》 3.《观沧海》 4.《饮酒》(其五) 5.《送杜少府之任蜀州》