zoukankan      html  css  js  c++  java
  • mysql常见用法

    查看连接数
    show processlist;
    查看慢日志
    show variables like '%slow_query_log%';
    show variables like 'long_query_time%';设置慢日志记录什么样的SQL,默认10s
    log-queries-not-using-indexes:未使用索引的查询也被记录到慢查询日志中,一般也开启这个变量


    如果出现如下情况

    mysql> show variables like '%slow_query_log%';
    +---------------------+---------------------+
    | Variable_name | Value |
    +---------------------+---------------------+
    | slow_query_log | OFF |
    | slow_query_log_file | ZhiBingLiu-slow.log |
    +---------------------+---------------------+
    2 rows in set

    windows下my.ini添加
    [mysqld]

    slow-query-log=1
    slow-query-log-file = "D:/xampp/mysql/data/mysql-slow.log"
    long_query_time = 4 #默认为10秒

    #min-examined-row-limit=30 #查询检查返回少于该参数指定行的SQL不被记录到慢查询日志
    log-queries-not-using-indexes

    {注:

    slow_query_log

    long_query_time = 5

    log-slow-queries=slow.log

    现在必须要这种设置才行

    slow-query-log=1

    long_query_time = 5 #这个没变
    slow-query-log-file=slow.log

    看来从5.6.* 可能已经全面取消了

    log-slow-queries=slow.log这种写法了}

    查看log日志是否开启
    show variables like 'general_log'
    set GLOBAL general_log='ON';
    SET GLOBAL general_log_file = '/tmp/mysql.log'
    不使用的时候记得关掉,否则会大量占用磁盘空间。

     mysql的性能和max_connections(最大连接数默认值为100) 和 wait_timeout(空闲等待时长,缺省情况下,wait_timeout的初始值是28800)  都有关系。wait_timeout 的值越大,连接的空闲等待就越长,这样就会造成当前连接数越大

    [mysqld]
    max_connections=1000 #默认是100
    wait_time_out=1814400  #21天,默认是8小时
    interactive_timeout=1814400 #需要和上一个参数必须同时设置  

     将MySQL慢查询日志写入表的的设置为。set global log_output='TABLE';

    在抓取数据的时候总是提示:MySQL server has gone away, 在这样的情况下正是由于某两条SQL查询之间隔离的时间过长,导致该连接自动断开。 解决方案:在打开链接的时候如下多加一个参数
    
    mysql_connect($dbhost, $dbuser, $dbpw, false, MYSQL_CLIENT_INTERACTIVE)
    然后接着执行这样的query:
    
    mysql_query("set interactive_timeout=24*3600");
    这样的话,就不会出现mysql server has gone away 了。
    为什么呢? 看看官方手册里的说明
    MYSQL_CLIENT_COMPRESS 使用压缩的通讯协议 
    MYSQL_CLIENT_IGNORE_SPACE 允许在函数名后留空格位 
    MYSQL_CLIENT_INTERACTIVE 允许设置断开连接之前所空闲等候的 interactive_timeout 时间(代替 wait_timeout)。
    MYSQL_CLIENT_SSL 使用 SSL 加密。本标志仅在 MySQL 客户端库版本为 4.x 或更高版本时可用。在 PHP 4 和 Windows 版的 PHP 5 安装包中绑定的都是 3.23.x。
    

      

  • 相关阅读:
    poj 3321 Apple Tree
    hdu 1520 Anniversary party
    Light OJ 1089 Points in Segments (II)
    Timus 1018 Binary Apple Tree
    zoj 3299 Fall the Brick
    HFUT 1287 法默尔的农场
    Codeforces 159C String Manipulation 1.0
    GraphQL + React Apollo + React Hook 大型项目实战(32 个视频)
    使用 TypeScript & mocha & chai 写测试代码实战(17 个视频)
    GraphQL + React Apollo + React Hook + Express + Mongodb 大型前后端分离项目实战之后端(19 个视频)
  • 原文地址:https://www.cnblogs.com/isuben/p/7060616.html
Copyright © 2011-2022 走看看