zoukankan      html  css  js  c++  java
  • 关于MySQL取不到数据

    有时明明有数据但是在某些时刻(并发的时候)就是取不到,比如某个会员买了会员卡,但是关键时候查不到卡,你说尬不尬?

    其实mysql和人是一样的,只不过处理速度远远大于人,但是到了一定的量之后也会处理不过来,就像去奶茶店买奶茶,你一个人去买一下子就好了,但是几百个人同时买就需要排队

    mysql是同样的一个道理,但是我们怎么知道我们的mysql最多可以接多少客呢?执行下面这句就好了

    mysql> show variables like '%max_connections%';
    +-----------------+-------+
    | Variable_name   | Value |
    +-----------------+-------+
    | max_connections | 214   |
    +-----------------+-------+
    1 row in set (0.03 sec)

    执行了 show variables like '%max_connections%'; 之后可以看到,我的最大数是214,当同一时刻215个人来买奶茶的时候,你就等着把,没你的位置了

    但是你会杠,你怎么就知道我是215个,玩意我是214个人呢,没关系执行下面这一句看你当前的访问量

    mysql> show global status like 'Max_used_connections';
    +----------------------+-------+
    | Variable_name        | Value |
    +----------------------+-------+
    | Max_used_connections | 215   |
    +----------------------+-------+
    1 row in set (0.02 sec)

    你说巧不巧,我这里刚好执行出来是215,所以我真的苦逼的没有及时的买到奶茶

    这个时候在兜里的钱允许的情况下(内存够用的情况下)把你奶茶店扩大装修一下吧,执行

    mysql> set global max_connections=1024;
    Query OK, 0 rows affected (0.00 sec)

    然后再次查看你能接多少客

    mysql> show variables like '%max_connections%';
    +-----------------+-------+
    | Variable_name   | Value |
    +-----------------+-------+
    | max_connections | 1024  |
    +-----------------+-------+
    1 row in set (0.04 sec)

    此方法有个弊端,就是临时的,重启之后又没了,所以想一劳永逸的话

    修改mysql配置文件my.cnf,在[mysqld]段中添加或修改max_connections值:
    max_connections=512
    重启mysql服务即可。

  • 相关阅读:
    最基础的账户余额要怎么在 mysql 实现?
    跳跃表时间复杂度分析推导
    Redis:RDB 中 fork 的使用
    字段、约束和索引在存储过程中的判断
    高效沟通的基本流程
    人月神话--画蛇添足
    课程评价及加分项
    人月神话--提纲挈领
    热词搜索七
    《大道至简:软件工程实践者的思想》
  • 原文地址:https://www.cnblogs.com/leaf-cq/p/14951279.html
Copyright © 2011-2022 走看看