MySQL 随着版本不停迭代,崩溃的现象越来越少,也越来越隐蔽。
创新互联公司专注于桐梓网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供桐梓营销型网站建设,桐梓网站制作、桐梓网页设计、桐梓网站官网定制、微信小程序开发服务,打造桐梓网络公司原创品牌,更为您提供桐梓网站排名全网营销落地服务。
一旦遇到生产环境上的 MySQL 崩溃,就需要保留现场信息,供分析用。虽然 MySQL 的 error log 中会打印部分信息,但对于比较隐蔽的崩溃,往往显得力不从心。
通过开启操作系统级别、放开用户限制、启用 MySQL 参数三个步骤,我们启用了 MySQL 的 coredump 功能,使得 MySQL 崩溃时留下了足够的线索。
对于复杂崩溃的分析,还是需要将 coredump 交给专业的研发工程师手里,或者提交给 MySQL 开发团队。
不过不管是什么场景,能提供一份 coredump,所有技术人员都会感谢你的。
Mysql的自动备份功能可能导致数据库在备份的时候先关闭服务,而在此启动的时候服务器不响应,
开始-运行-services.msc,打开windows服务找到mysql的服务并双击,点击恢复选项卡,第一次失败:默认是“不操作”,改成”重新启动服务”。
在下方的“重新启动服务:分钟后”添上“0”表示如果服务意外终止则立即重启动。点击确定使设置生效。这时候你在任务管理器里结束mysql-nt进程,会发现结束不掉,不过要注意,这样mysql.exe是停不了的,如果要停必须把刚才修改的改回来.)
分析原因二,可能是mysql连接问题
修改mysql的最大连接数, 使用内存变量修改法修改mysql的最大连接数
步骤如下(同时适用windows和linux平台):
a、客户端登录mysql,输入用户名和密码’b、在mysql命令提示符下设置新的最大连接数为500:mysql set global max_connections=500
c、显示当前运行的query:mysql show processlist
d、显示当前mysql 系统参数状态:mysql show status# k;
e、退出客户端:mysql exit’
查看当前最大连接数只需要通过在mysqladmin所在目录下执行以下命令:mysqladmin -username -password variables |find “max_con” 即可看到。也可以使用php教程myadmin里头的mysql参数列表查看最大连接数。
缺点:重启计算机或者mysql后最大连接数又会复位成初始值,需要重新设定。
2、修改my.ini或my.cnf文件法(需要重启mysql),可参考同目录下mysql的配置模板(小内存、大内存、超大内存) . e windows系统下打开my.ini文件找到set-variable =max_connections=100这一行,改成需要设定的最大连接数,然后重启即可。
linux控制台下:
1、打开my.cnf文件:vi /etc/my.cnf
2 在[mysqld]段下修改max_connections的值为设定值。
注意:
可能大家安装的mysql来源和版本不同(windows下mysql+iis和php+apache+mysql套件最终安装结果几乎都不相同),my.ini文件的路径可能有些不同,my.ini可能还会保留一份在c:windows目录下需要同时修改
linux下打开/etc/my.cnf,在属性组mysqld下面添加参数如下:
[mysqld]
interactive_timeout=28800000
wait_timeout=28800000
windows下打开my.ini,增加:
[mysqld]
interactive_timeout=28800000
wait_timeout=28800000
或者
修改如下JDBC连接的 URL:
jdbc:mysql://hostaddress:3306/schemaname?autoReconnect=true
添加 autoReconnect=true 这个参数,即能解决这个问题。
看错误日志,相应的解决。mysql的data目录下面会有一个机器器.err的文件会记录错误信息