sqlyog怎么连接mysql错误2003_网站突然连不上,MySQL连接错误经常内存不够宕机

阿里云服务器 MySQL 经常自动停止、挂掉、重启。打开 MySQL 的 error.log 错误信息,在阿里云 CentOS 的路径为 /alidata/log/mysql/error.log,如下:

2016-03-13 00:16:37 0[Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use--explicit_defaults_for_timestampserver option(see documentationformore details).
2016-03-13 00:16:37 30576[Note] Plugin'FEDERATED'is disabled.
2016-03-13 00:16:37 30576[Note] InnoDB: Using atomics to ref count buffer pool pages
2016-03-13 00:16:37 30576[Note] InnoDB: The InnoDB memory heap is disabled
2016-03-13 00:16:37 30576[Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2016-03-13 00:16:37 30576[Note] InnoDB: Memory barrier is not used
2016-03-13 00:16:37 30576[Note] InnoDB: Compressed tables use zlib 1.2.3
2016-03-13 00:16:37 30576[Note] InnoDB: Using Linux native AIO
2016-03-13 00:16:37 30576[Note] InnoDB: Using CPU crc32 instructions
2016-03-13 00:16:37 30576[Note] InnoDB: Initializing buffer pool, size=64.0M
2016-03-13 00:16:37 30576[Note] InnoDB: Completed initialization of buffer pool
2016-03-13 00:16:37 30576[Note] InnoDB: Highest supported file format is Barracuda.
2016-03-13 00:16:37 30576[Note] InnoDB: The log sequence numbers 52296883 and 52296883inibdata filesdonot match the log sequence number 93636989inthe ib_logfiles!
2016-03-13 00:16:37 30576[Note] InnoDB: Database was not shutdown normally!
2016-03-13 00:16:37 30576[Note] InnoDB: Starting crash recovery.
2016-03-13 00:16:37 30576[Note] InnoDB: Reading tablespace information from the .ibd files...
2016-03-13 00:16:37 30576[Note] InnoDB: Restoring possible half-written data pages 
2016-03-13 00:16:37 30576[Note] InnoDB: from the doublewrite buffer...InnoDB: Last MySQL binlog file position 0 9828, file name mysql-bin.000335
2016-03-13 00:16:37 30576[Note] InnoDB: 128 rollback segment(s)are active.
2016-03-13 00:16:37 30576[Note] InnoDB: Waitingforpurge to start
2016-03-13 00:16:37 30576[Note] InnoDB: 5.6.21 started;log sequence number 93636989
2016-03-13 00:16:38 30576[Note] Recovering after a crash using mysql-bin
2016-03-13 00:16:38 30576[Note] Starting crash recovery...
2016-03-13 00:16:38 30576[Note] Crash recovery finished.
2016-03-13 00:16:40 30576[Note] Server hostname(bind-address):'*';port: 3306
2016-03-13 00:16:40 30576[Note] IPv6 is not available.
2016-03-13 00:16:40 30576[Note] -'0.0.0.0'resolves to'0.0.0.0';
2016-03-13 00:16:40 30576[Note] Server socket created on IP:'0.0.0.0'.
2016-03-13 00:16:41 30576[Note] Event Scheduler: Loaded 0 events
2016-03-13 00:16:41 30576[Note] /alidata/server/mysql/bin/mysqld: readyforconnections.Version:'5.6.21-log'socket:'/tmp/mysql.sock'port: 3306 MySQL Community Server(GPL)160313 00:16:41 mysqld_safe Number of processes running now: 0160313 00:16:41 mysqld_safe mysqld restarted

MySQL 的 error.log 中,我们很难找出出是哪里出了问题。去 Google 了一下,给出的答案基本是修改”/alidata/server/mysql/my.cnf”:

innodb_buffer_pool_size=64M# 默认为128M,修改成64M、32M或者8M,但实际上重启 MySQL 之后以为能运行,实际上过了一会 MySQL 还是会出现不知原因地自动关闭。

注意去看其中的2016-03-13 00:16:37 30576[Note] InnoDB: Database was not shutdown normally!说明了 MySQL 非正常关闭,MySQL 也不知道自己为什么被关闭掉了。。。于是, MySQL 觉得真奇怪,自己又重启了自己的进程开始 Crash Recoverying,如下:

接着,大家又猜想这条2016-03-13 00:16:37 30576[Note] InnoDB: The log sequence numbers 52296883 and 52296883inibdata filesdonot match the log sequence number 93636989inthe ib_logfiles!Google,发现原来就是这里捣鬼,才出现了 MySQL 再重启之后,又继续自动关闭,再重启。于是,尝试按照 StackOverflow 上面的 suggestions 去做:

重启,又可以了。。。没一会,嚓,MySQL 又宕了!这次不仅宕,而且 error.log 又多了因 * innodb_force_recovery = 6 * 而引起的错误。

怎么办?现在我们回到下面这条日志:

2016-03-13 00:16:37 30576[Note] InnoDB: Database was not shutdown normally!

现在我们要看看,为什么 MySQL 会不正常关闭呢!?现在我们打开top看看。下面使用htop进行查看:

0eb5b84bb45aad5477607e4a7d1ed506.png

一看 mysql 进程占用的 VIRT 怎么这么多!这时,你要是多刷新几下你服务器上搭建的 WordPress 网站的主页的话,会出现 mysql 内存占用率超过 50% 的情况,这时候 mysql 进程就会被 linux 内核杀死。也就出现了我们在 MySQL 的 error.log 中看到的“[Note] InnoDB: Database was not shutdown normally!” 日志了。

为了确定这个猜测是否真实,我们去看看 kernel 日志。

接着你会看到:

看到最后的两条:

好了,终于找出原因了,内存不够,杀死了 mysqld 进程。

下面是我的优化方案:

1.创建 SWAP 分区:
检查系统Swap文件信息

sudo swapon -s
free -m

检查硬盘可用空间

df -h

创建Swap文件

sudo /bin/dd if=/dev/zero of=/var/swap.1 bs=1M count=1024

激活Swap

sudo /sbin/mkswap /var/swap.1
sudo /sbin/swapon /var/swap.1

使Swap在主机重启后依然生效

sudo nano /etc/fstab

加入以下内容

/var/swap.1 swap swap defaults 0 0
All done!

2.降低数据库 InnoDB 引擎的缓冲区大小,以及限制 MySQL 的最大连接数(max_connections):
降低 InnoDB 缓冲区大小为 64M 或者 32M(到mysql配置文件中修改)

innodb_buffer_pool_size=64M

限制最大连接数为100,在服务器配置很低时可以继续降低

max_connections=100

修改完重启 MySQL:

service mysqld restart

注释:max_connections 的默认值是 151,可以动态更改这个值。参见:max_connections

如有必要,可以重启服务器: reboot

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/505799.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

华为抓截屏_原来这才是华为截屏的正确姿势,今天才知道,千万别不当回事

原标题:原来这才是华为截屏的正确姿势,今天才知道,千万别不当回事大家都知道我们的华为手机有很多好用的功能,截屏就是其中一个,那么你知道华为手机截屏的正确姿势吗?今天小编就带大家一起看看吧&#xff0…

oracle和mysql通用建表语句_mysql建表语句到oracle怎么写?

mysql建表语句到oracle怎么写?CREATE TABLE Advertisment ( AdId int(8) NOT NULL auto_increment, AderId int(8) default NULL, AdName varchar(50) default NULL, AdKind varchar(30) default NULL, CreateMan varchar(30) default NULL, StartDate date d…

onenote快捷键_高效飞快地使用onenote快捷键:快捷键功能架构解析

默认快捷键有近200组,涉及到的功能如此之多,但真正频繁使用的,可能也就几十组。如何从这么多快捷键中选择出自己需要的呢?你需要一张功能架构参考图。1默认快捷键功能架构图官方文档已对快捷键做了初步分类,但比较抽象…

ueditor如何设置上传图片的高度宽度_上百张图片上传并对齐,你加班2小时没搞定,同事简单三步就完成...

Excel除了汇总数据还可以上传保存相片,比如我们在人力信息表中将每个人的相片放到表格里面去,或者我们需要将宠物对应的相片放到表格里面去,这就涉及到图片的批量上传以及对齐的操作。如图所示,我们需要将每个动物对应的图片&…

pdf在线翻译_如何免费快速地翻译pdf英文文档,并保留很好的格式?

对于那些科研工作者,每天阅读外文文献是必须要做的,大家都知道,一份外文的pdf文献内容是很多的,阅读量也是非常大,边看边翻译的话,这个任务还是很艰巨的,面对如此大的阅读量,该怎么快…

服务器具有挂起的重新启动_ESP8266与网络服务器实时通讯

背景知识视频教程Bootstrap 4布局:响应式单页设计​viadean.comNode.js,Express,MongoDB等:2020年完整的训练营 - 国外课栈​viadean.com高级Express - 国外课栈​viadean.com目前,所有已呈现的通信都是基于请求响应方…

java除号_Java的运算符

1.算数运算符 加(正号)  - 减(符号)  * 乘  / 除% 取模(取余)   自增  -- 自减号的几种作用:加法运算  表示为一个正数  还可以用来作字符串的拼接整数相除只能得到整数。如果想得到小数,必须把参与计算的数据变化为浮点类型的数据。自增和…

strace命令_在软件部署中使用 strace 进行调试

我最喜欢的用来解决“为什么这个软件无法在这台机器上运行?”这类问题的工具就是 strace。-- Simon Arneaud(作者)我的大部分工作都涉及到部署软件系统,这意味着我需要花费很多时间来解决以下问题:这个软件可以在原开发…

procreate 笔刷_Procreate新手漫画入门:笔刷,图层,上色

上个月新入手了一个新的ipad,又打开了一种关于漫画的新的可能性~同时验证了那句话:对生活保持好奇,你将收获更多。于是就有一些喜欢画画的小伙伴有私信这样的漫画怎么画的?这个秘密工具就是:ipad ➕ Apple pencil ➕ a…

transactional注解的使用_Java:Spring @Transactional工作原理

本文将深入研究Spring的事务管理。主要介绍Transactional在底层是如何工作的。之后的文章将介绍:propagation(事务传播)和isolation(隔离性)等属性的使用事务使用的陷阱有哪些以及如何避免JPA和事务管理很重要的一点是JPA本身并不提供任何类型的声明式事务管理。如果…

java 2d划线 刷子_月光软件站 - 编程文档 - Java - Java图形设计中,利用Bresenham算法实现直线线型,线宽的控制(NO 2D GRAPHICS)...

Java 2D Graphics提供了强大的画线功能,可以控制线型,线宽,刷子的形状等,但在JDK1.2以前,没有提供这样一个功能,为了保持与旧版JDK的相容,实现一个可控制线型,线宽的画直线方法还是…

system流怎么判断为空_并行流ParallelStream中隐藏的陷阱

点击上方蓝字 ↑↑ Throwable文摘关注公众号设置星标,不定时推送高质量原创文章关注前提这篇文章介绍一下日常开发中并行流ParallelStream中隐藏的陷阱,这个问题其实离我们很近,特别是喜欢使用JDK1.8的流式编程的伙伴,应该会深有感…

vfp操作excel排序_中招计算机信息技术考试训练|Excel操作题一|排序和筛选

Excel操作题(一):进入本题工作目录,请完成以下操作。1、将单元格区域A1:F1合并后居中,字体格式设置为黑体、16号。2、将单元格区域A2:F2填充颜色改为橙色,A3:A7填充颜色改为黄色。3、用函数计算5个储蓄所的…

java 反射机制 视频_【视频笔记】Java反射机制笔记

Java 语言的反射机制在Java运行时环境中,对于任意一个类,可以知道这个类有哪些属性和方法。对于任意一个对象,可以调用它的任意一个方法。这种动态获取类的信息以及动态调用对象的方法的功能来自于Java 语言的反射(Reflection)机制。Java 反射…

算术溢出使用4字节值上的运算符_c语言程序设计的数据类型、运算符和表达式介绍...

数据类型 为什么在用计算机运算时,要指定数据的类型呢?在数学中,数值是不分类型的,数值的运算是绝对准确的,例如:1/3的值是0.333333(循环小数)。 而在计算机中,数据是存放在存储单元中的,它是具体存在的。而且,存储单元是由有限的字节构成的,每一个存储单元中存放数据…

java windows 下载_Windows环境下JDK的下载与安装

1.首先检查一下本机是否有安装java。按winR,在弹出窗口中输入cmd,按回车打开控制台在控制台中输入 java 并按回车,如果显示“java 不是内部或外部命令,也不是可运行的程序或批处理文件“,则说明这台电脑还没安装java可…

net应用程序中发生了未经处理的异常怎么办_介绍一些在.NET Core 3.0中引入的诊断改进工具...

编者按:即使.NET Core3.1.5已经发布,在进行.NET Core的性能诊断时,我们有时依然不知该从何处下手,那这篇介绍.NET Core3.0中引入的诊断工具,或许能为我们提供参考。在.NET Core 3.0中,我们引入了一套工具&a…

vba中有多线程吗_VBA会被Python代替吗?

先说答案:不会被替代这里引用轮子哥的话说:微软只会开发更多的增强型插件来慢慢淡化VBA,但是不会用其他语言取代VBA。早在17年底,就有风声说Python要取代VBA,成为Excel官方脚本语言。我认真翻看了下好多篇文章&#xf…

统计一个整数的所有因子的个数_【题解循环嵌套】1095:数1的个数

1095:数1的个数时间限制: 1000 ms 内存限制: 65536 KB【题目描述】给定一个十进制正整数n(1≤n≤10000),写下从1到n的所有整数,然后数一下其中出现的数字“1”的个数。例如当n2时,写下1,2。这样只出现了1个“1”;当…

运行java是提示 选择未包含 main 类型 如何解决_RuoYi 若依 代码生成器使用教程...

你好! 若是你想学习如何使用RuoYi 若依 代码生成器, 能够仔细阅读这篇文章,了解一下RuoYi 若依 代码生成器的基本知识。java新建数据表(注意字段必定要写注释)USE ry;web/*Table structure for table sys_zyq */sqlDROP TABLE IF EXISTS sys_zyq;数据库C…