mysql每用一段时间就会挂掉,是怎么回事

mysql每用一段时间就会挂掉,是怎么回事,第1张

解决方法一:

打开“服务”项目,选择mysql服务,在右键中选择其“恢复”选项,它负责服务失败时计算机的反应。每一次失败时,你可以选择(1)不 *** 作;(2)重新启动服务;(3)运行一个程序;(4)重启服务器。您可以在第一次和第二次失败时选择重新启动服务,第三次失败就重启服务器,这样可以在无人值守的情况下达到自稳。但遗憾的是windows的这项内置服务工作时并不尽如人意。

解决方法二:

定期优化MySQL,这可以通过Mysql administrator来执行,也可以使用mysql的维护工具mysqlcheck,使用方法为:进入Mysql的Bin目录:C:\Program Files\MySQL\MySQL Server 4.1\bin 运行:mysqlcheck -A -o -r -uroot -p123456(注意,将123456改成你自己的root用户密码, 如无请留空 ),有时可以起到一定的作用。

解决方法三:

建立一个php+mysql的简单网站,在服务器监控王的网站监视设置中,让服务器监控王软件定期去访问这个网站(如60秒一次),如果不能访问,说明数据库存在问题,将故障回报至您的邮箱或手机中,让您在第一时间内得知网站访问情况。如果连续几次都不能访问,您可以选择自动重启服务器,从而达到无人值守的状态。

解决方法四:

设定服务器监控王的SQL监视,定期对mysql是否运行进行定期监视,如有问题立即重启或回报。

解决方法五:

对于上面问题中提到某台服务器准时在挂掉,如凌晨5点,产生这样的原因分析可能与当前流行的discuz论坛的自动定时备份有关,因为很多客户定时在凌晨时段自动备份mysql数据库,导致mysql工作忙碌(如有很多的mysql用户),可以建立一个计划任务,定时如早上6时将mysql重启一下。

解决方法六:

更换为非windows主机,运行更少的mysql+PHP网站,当然对于从事虚拟主机业务的运营商来说是一项损失。

MySQL 在崩溃恢复时,会遍历打开所有 ibd 文件的 header page 验证数据字典的准确性,如果 MySQL 中包含了大量表,这个校验过程就会比较耗时。 MySQL 下崩溃恢复确实和表数量有关,表总数越大,崩溃恢复时间越长。另外磁盘 IOPS 也会影响崩溃恢复时间,像这里开发库的 HDD IOPS 较低,因此面对大量的表空间,校验速度就非常缓慢。另外一个发现,MySQL 8 下正常启用时居然也会进行表空间校验,而故障恢复时则会额外再进行一次表空间校验,等于校验了 2 遍。不过 MySQL 8.0 里多了一个特性,即表数量超过 5W 时,会启用多线程扫描,加快表空间校验过程。

如何跳过校验MySQL 5.7 下有方法可以跳过崩溃恢复时的表空间校验过程嘛?查阅了资料,方法主要有两种:

1. 配置 innodb_force_recovery可以使 srv_force_recovery != 0 ,那么 validate = false,即可以跳过表空间校验。实际测试的时候设置 innodb_force_recovery =1,也就是强制恢复跳过坏页,就可以跳过校验,然后重启就是正常启动了。通过这种临时方式可以避免崩溃恢复后非常耗时的表空间校验过程,快速启动 MySQL,个人目前暂时未发现有什么隐患。2. 使用共享表空间替代独立表空间这样就不需要打开 N 个 ibd 文件了,只需要打开一个 ibdata 文件即可,大大节省了校验时间。自从听了姜老师讲过使用共享表空间替代独立表空间解决 drop 大表时性能抖动的原理后,感觉共享表空间在很多业务环境下,反而更有优势。

临时冒出另外一种解决想法,即用 GDB 调试崩溃恢复,通过临时修改 validate 变量值让 MySQL 跳过表空间验证过程,然后让 MySQL 正常关闭,重新启动就可以正常启动了。但是实际测试发现,如果以 debug 模式运行,确实可以临时修改 validate 变量,跳过表空间验证过程,但是 debug 模式下代码运行效率大打折扣,反而耗时更长。而以非 debug 模式运行,则无法修改 validate 变量,想法破灭。

1、加大服务器的网络带宽,提高网络连接速度。

2、增加物理内存、更换固态硬盘,增加CPU等方法提高服务器对数据处理的能力。

3、由多台服务器共同协同处理,加快数据处理速度。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9974201.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存