知识杂记
http://jeremy.zawodny.com/blog/archives/011421.html
这篇是Jeremy Zawodny的一篇文章他指出了几个不好的Mysql默认配置项。
首先是max_connect_errors和connect_timeout。
mysql有这样的行为:
如果客户端连接Mysql失败,服务器就会在等候connect_timeout秒之后放弃等候,并且增加连接错误的计数器。然后,当值达到了max_connect_errors的时候,服务器会将这个客户端锁住。知道服务器执行了FLUSH HOSTS命令。
所以当mysql偶然出现网络间断的时候,就很有可能出现连接错误计数器超过max_connect_errors的情况。
所以有几个方法:
1 将max_connect_errors调整成一个很大的数
2 调高connect_timeout的值(默认值为5,建议调高为15或20,也不是越高越好,要考虑到thread_cache_size的控制)
mysql默认会对每个连接使用DNS逆向查询。不管这个过程怎么样,其实这个过程其实是不必要的。为了提高性能,也为了降低connect_timeout超时的概率,所以应该在my.cnf中加入skip-name-resolve来跳过这个环节。
slave_net_timeout这个字段是设置主从服务器发生意外连接失败的时候,从服务器等候多少时间才会意识到连接失败,从而执行重连操作。
mysql默认设置是3600秒,竟然是整整一个小时,作者认为这是不合理的,毕竟没人希望当两个服务器意外连接失败的时候,过了一个小时从服务器才知道连接失败。所以作者建议这个属性应该调小到30s左右。
php的sql语句变量的引号
①SELECT * FROM article WHERE articleid=$id
②SELECT * FROM article WHERE articleid=$id
这两句sql语句,理论上,第一句比第二句更有安全性。因为对第一句而言,sql注入需要先闭合单引号,才能有注入行为,一旦使用了addslash或者magic_quotes_gpc为on,就可以防了。但是第二句就没有单引号门槛。
mongodb
mongodb的安装超级简单
直接去www.mongodb.org 下载对应的二进制文件,使用./mongod --dbpath /root/data/mongodb/ 命令会自动初始化数据库
基本命令:
http://www.mongodb.org/display/DOCS/Tutorial
mongodb是一部分数据在内存中,一部分在磁盘上。所以它能比mysql快,比redis存更多东西。(当然反过来。。。)
二周年杂记 ### 前言 去年工作一周年时,写了一篇总结([小前端一周年杂记](http://quanfeng.tech/blog/post/ali-one-year/)),现在来看里面一些观点还是颇为幼稚的。如今过了两周年了,我想还是继续记录一下自己的职业历程和真实想法。或许明年再看此文依然会觉得很幼稚,但这也正是我所期望的。 相比第一年一直在搬砖,第二年的职业经历要丰富的多,技术上依然没有什么突破
相关文章
- 老司机教你,如何画出优秀的技术架构图?(硬核知识)
- 本体编辑、知识推理与检索
- 皕杰报表(知识小结)
- [Nature Communication | 论文简读] 将生物医学数据集成和格式化为Bioteque中预先计算的知识图谱嵌入
- 电脑硬件知识入门之主板篇
- 【数据结构初阶】复杂链表复制+带头双向循环链表+缓存级知识
- KnockoutJS – 知识清单详解编程语言
- Oracle数据库:精选的知识测验(oracle数据库选择题)
- 深入理解Linux嵌入式知识之旅(linux嵌入式知乎)
- Linux培训提升技能知识(linux培训课程)
- 深入掌握MySQL:开启你的知识培训之旅(mysql知识培训)
- 数据库罗敏注入Oracle数据库知识(罗敏oracle)
- Oracle机试:挑战你的数据库知识(oracle机试题)
- MySQL一般试题考核MySQL数据库常规知识的必修题目(mysql一般试题)
- Redis鉴权知识要求深入考量面试必备(redis鉴权面试)