• mysql 时间设置


    方法一
    1。在mysql的命令模式下使用
       mysql > select CURTIME();
       或
       mysql > select now();
       看当前时间是否正确,可以看到mysql当前使用的是那一个时区的时间。
    2。在mysql命令行中更改时区
       mysql > SET time_zone = '+8:00';   # 此为北京时,我们所在东8区
       mysql> flush privileges;   # 立即生效
    此时mysql时区已更改正确,与系统时区都使用为 Shanghai时间了。
    #### 这种方法好像只能在终端上使用,退出终端后时间又会变成原来的,看来只能重启mysql了。
    3。重启mysql也应没有问题,此时mysql会主动读取系统时间。
    方法二:
    如果mysql数据库可以重启,直接重启,mysql应可以立即主动读取系统时间,如果不行则更改mysql的配置文件(mysql.cnf)
    在my.cnf的 [mysqld]区域中加上
    default-time_zone = '+8:00'     #此为北京时。

    查看mysql的运行时长
    SHOW GLOBAL VARIABLES LIKE '%timeout'

    2. 连接超时
    如果程序使用的是长连接,则这种情况的可能性会比较大。
    即,某个长连接很久没有新的请求发起,达到了server端的timeout,被server强行关闭。
    此后再通过这个connection发起查询的时候,就会报错server has gone away
    $ mysql -uroot -p -e "show global variables like '%timeout';"

    3. 进程在server端被主动kill
    这种情况和情况2相似,只是发起者是DBA或者其他job。发现有长时间的慢查询执行kill xxx导致。
    $ mysql -uroot -p -e "show global status like 'com_kill'"

    4. Your SQL statement was too large.
    当查询的结果集超过 max_allowed_packet 也会出现这样的报错。定位方法是打出相关报错的语句。
    用select * into outfile 的方式导出到文件,查看文件大小是否超过 max_allowed_packet ,如果超过则需要调整参数,或者优化语句。
    mysql> show global variables like 'max_allowed_packet';

  • 相关阅读:
    如何开发Vite3插件构建Electron开发环境
    JVisualVM监控远程Java进程
    查找导致cup过高的代码方法
    jmap
    微信安装包从0.5M暴涨到260M,为什么我们的程序越来越大?
    【idea】如何将idea快捷键改成eclipse习惯
    脱敏的终点乃是数据库
    2022国庆长文:以股票领域为切入点,聊聊程序的Level
    【Oracle】常用字典表
    【oracle dba】强制关闭会话
  • 原文地址:https://www.cnblogs.com/klj123wan/p/2864946.html
Copyright © 2020-2023  润新知