zoukankan      html  css  js  c++  java
  • 知识杂记

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

    实时了解作者更多技术文章,技术心得,请关注微信公众号“轩脉刃的刀光剑影”

    本文基于署名-非商业性使用 3.0许可协议发布,欢迎转载,演绎,但是必须保留本文的署名叶剑峰(包含链接http://www.cnblogs.com/yjf512/),且不得用于商业目的。如您有任何疑问或者授权方面的协商,请与我联系

  • 相关阅读:
    jsp+servlet实现的验证登陆
    Servlet转发
    ServletContext的使用
    Servlet获取配置信息(ServletConfig)
    Servlet线程安全问题(转载)
    编程式导航
    声明式导航
    Vue Router
    路由
    vue-cli 单文件组件 工具安装
  • 原文地址:https://www.cnblogs.com/yjf512/p/2726743.html
Copyright © 2011-2022 走看看