知识杂记

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
简介:

Fixing Poor MySQL Default Configuration Values

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

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存更多东西。(当然反过来。。。)

相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。   相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
目录
相关文章
|
IDE 编译器 开发工具
本周知识点杂记1
本周知识点杂记1
89 0
云栖社区专家系列课——Java必修课第四讲
Java必须课是零基础Java学习者的入门课程,涵盖了Java初学者应该掌握的所有核心知识。在第四讲中,最课程创始人、微软MVP陆敏枝详细讲解了基础类型转换、char类型运算、关系运算符、逻辑运算符、位运算符等基础类型之间的运算关系,并结合利息计算器应用案例将前几讲学习的知识点进行串联。
2121 0
云栖社区专家系列课——Java必修课第一讲
根据IEEE Spectrum网站的2017年公布的排名,Java在按雇主需求的语言排名第一,市场需求巨大,发展前景乐观。作为Java必修课第一讲,本节课中,最课程创始人、微软MVP陆敏枝为了大家介绍了当前Java行业的IT人才供需情况、Java基本语法、JDK的下载与安装、Java环境变量的配置以及第一个Java程序的编写、架构与运行,内容既涵盖理论分析又包括动手实践,对零基础入门Java的初学者而言非常适用。
2717 0
|
Java API
云栖社区专家系列课——Java必修课第三讲
Java必须课是零基础Java学习者的入门课程,涵盖了Java初学者应该掌握的所有核心知识,由最课程创始人、微软MVP陆敏枝主讲。本节课陆老师从概念和代码示例(计算器)两方面着重讲解了Java中变量、API文档、输入输出和运算符四方面基础知识。
2376 0
|
SQL NoSQL 关系型数据库
|
网络安全 API
|
前端开发 程序员
二周年杂记
### 前言 去年工作一周年时,写了一篇总结([小前端一周年杂记](http://quanfeng.tech/blog/post/ali-one-year/)),现在来看里面一些观点还是颇为幼稚的。如今过了两周年了,我想还是继续记录一下自己的职业历程和真实想法。或许明年再看此文依然会觉得很幼稚,但这也正是我所期望的。 相比第一年一直在搬砖,第二年的职业经历要丰富的多,技术上依然没有什么突破
2139 0