技术分享 | 聊聊 MySQL 关机的故事

Java社招面试题:MySQL有关权限的表都有哪几个? 面试被问MySQL权限相关的系统表,你能立刻说出五个表名和它们的用途吗?本文通过故事方式带你吃透MySQL权限机制,逐层拆解五张关键权限表,帮你面试不再卡壳! 阅读详情

作者:莫善

某互联网公司高级 DBA。

本文来源:原创投稿

*爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。


背景

这两天看到一个 MySQL 群里在讨论一个有趣的话题,大家平时都是怎么关闭 MySQL 的,一个大佬还发起了一个投票。投票如下:

你是如何关闭 MySQL 数据库的?

  • A、mysqladmin shutdown
  • B、service mysqld stop(systemctl)
  • C、kill mysqld_pid
  • D、kill -9 mysqld_pid

投票结果如下:

选项人数占比
A14133.9%
B24358.4%
C153.6%
D174.1%

生产环境中基本都是多实例部署,所以用A的方式关闭比较多,偶尔也会贪方便直接采用C的关闭方式,如果是单机单实例,用B也没毛病,但是为什么会有人选D选项呢,发起投票的大佬逐一问过后得知,都是因为当时 MySQL 已经不可用了,迫不得已才采用暴力关闭。

最后,大佬最终公布答案说,生产环境有且只有一种正确的关闭 MySQL 的方式,那就是D方式,所以在大佬看来,几乎团灭。

对这个公布结果我是持怀疑态度的,所以我带着怀疑做了下面的测试。

仅对5.7的半同步场景做了测试,对于异步场景感觉没什么意义,所以没测。

一、环境介绍

环境架构采用 MySQL 5.7 增强半同步,搭建的一主一从,信息如下:

角色ip端口版本
master192.168.168.1166665.7.26
slave192.168.168.1266665.7.26
1、主库配置
mysql> show variables like 'rpl%';
+-------------------------------------------+------------+
| Variable_name                             | Value      |
+-------------------------------------------+------------+
| rpl_semi_sync_master_enabled              | ON         |
| rpl_semi_sync_master_timeout              | 1000000    |
| rpl_semi_sync_master_trace_level          | 32         |
| rpl_semi_sync_master_wait_for_slave_count | 1          |
| rpl_semi_sync_master_wait_no_slave        | ON         |
| rpl_semi_sync_master_wait_point           | AFTER_SYNC |
| rpl_semi_sync_slave_enabled               | OFF        |
| rpl_semi_sync_slave_trace_level           | 32         |
| rpl_stop_slave_timeout                    | 31536000   |
+-------------------------------------------+------------+
9 rows in set (0.00 sec)

mysql> 

rpl_semi_sync_master_timeout = 1000000 是为了避免半同步降级为异步。

2、从库配置
mysql> show variables like 'rpl%';
+-------------------------------------------+------------+
| Variable_name                             | Value      |
+-------------------------------------------+------------+
| rpl_semi_sync_master_enabled              | OFF        |
| rpl_semi_sync_master_timeout              | 1000000    |
| rpl_semi_sync_master_trace_level          | 32         |
| rpl_semi_sync_master_wait_for_slave_count | 1          |
| rpl_semi_sync_master_wait_no_slave        | ON         |
| rpl_semi_sync_master_wait_point           | AFTER_SYNC |
| rpl_semi_sync_slave_enabled               | ON         |
| rpl_semi_sync_slave_trace_level           | 32         |
| rpl_stop_slave_timeout                    | 31536000   |
+-------------------------------------------+------------+
9 rows in set (0.00 sec)

mysql> 

二、测试演示

  • 测试准备

登录主库准备测试数据

# /opt/soft/mysql57/bin/mysql -u dba -h 192.168.168.11 -P6666 -p123456

mysql> create database if not exists dbatest;
Query OK, 1 row affected, 1 warning (0.00 sec)

mysql> use dbatest
Database changed
mysql> create table t(id int not null auto_increment primary key,name varchar(10) default '') ;
Query OK, 0 rows affected (0.01 sec)

mysql> insert into t select 0,'mysql';
Query OK, 1 row affected (0.00 sec)
Records: 1  Duplicates: 0  Warnings: 0

mysql> insert into t select 0,'redis';
Query OK, 1 row affected (0.01 sec)
Records: 1  Duplicates: 0  Warnings: 0

mysql> select * from t;
+----+-------+
| id | name  |
+----+-------+
|  1 | mysql |
|  2 | redis |
+----+-------+
2 rows in set (0.00 sec)

mysql> 

登录从库检查测试数据

# /opt/soft/mysql57/bin/mysql -u dba -h 192.168.168.12 -P6666 -p123456

mysql> use dbatest
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> select * from t;
+----+-------+
| id | name  |
+----+-------+
|  1 | mysql |
|  2 | redis |
+----+-------+
2 rows in set (0.00 sec)

mysql> 
1、安全关闭的场景

(1)停掉从库的复制

# /opt/soft/mysql57/bin/mysql -u dba -h 192.168.168.12 -P6666 -p123456

mysql> stop slave;
Query OK, 0 rows affected (0.01 sec)

mysql> 

模拟半同步故障,为了更直观查阅测试结果。

(2)模拟业务更新

这个流程涉及两个操作,一是在主库发起一个更新请求,二是查看主库的processlist状态。

  • 操作一
# /opt/soft/mysql57/bin/mysql -u dba -h 192.168.168.11 -P6666 -p123456 dbatest -e "update t set name = 'tidb' where id = 1"

这个操作回车后会卡着,因为这个请求会等从库的ACK。具体可以看【操作二】的查询结果。

  • 操作二
# /opt/soft/mysql57/bin/mysql -u dba -h 192.168.168.11 -P6666 -p123456

mysql> show processlist;
+----+------+----------------------+---------+---------+------+--------------------------------------+-----------------------------------------+
| Id | User | Host                 | db      | Command | Time | State                                | Info                                    |
+----+------+----------------------+---------+---------+------+--------------------------------------+-----------------------------------------+
|  8 | dba  | 192.168.168.13:49584 | dbatest | Query   |   49 | Waiting for semi-sync ACK from slave | update t set name = 'tidb' where id = 1 |
|  9 | root | localhost            | NULL    | Query   |    0 | starting                             | show processlist                        |
+----+------+----------------------+---------+---------+------+--------------------------------------+-----------------------------------------+
2 rows in set (0.00 sec)

mysql> 

(3)关闭主库的 MySQL

这个流程向主库提交 shutdown 命令来安全关闭 MySQL 。

# /opt/soft/mysql57/bin/mysql -u dba -h 192.168.168.11 -P6666 -p123456

mysql> shutdown;
Query OK, 0 rows affected (0.00 sec)

mysql> 

提交完 shutdown 操作后,【操作一】的更新请求会被提交。

  • 在业务端看来,id=1 这行数据已经被修改,但是从库的id=1这行数据未改变。如果这个时候触发主从切换,那就丢数据了。由此看来,在特殊场景下,安全关闭MySQL可能导致数据丢失。
  • 这时候将主库重新拉起来,修好主从的半同步,被提交的事务还是会同步到从库的。
2、暴力关闭的场景

(1)停掉从库的复制

# /opt/soft/mysql57/bin/mysql -u dba -h 192.168.168.12 -P6666 -p123456

mysql> stop slave;
Query OK, 0 rows affected (0.01 sec)

mysql> 

模拟半同步故障,为了更直观查阅测试结果。

(2)模拟业务更新

这个流程涉及两个操作,一是在主库发起一个更新请求,二是查看主库的 processlist 状态。

  • 操作一
# /opt/soft/mysql57/bin/mysql -u dba -h 192.168.168.11 -P6666 -p123456 dbatest -e "update t set name = 'codis' where id = 2"

这个操作回车后会卡着,因为这个请求会等从库的ACK。具体可以看【操作二】的查询结果。

  • 操作二
# /opt/soft/mysql57/bin/mysql -u dba -h 192.168.168.11 -P6666 -p123456

mysql> show processlist;
+----+------+----------------------+---------+---------+------+--------------------------------------+-----------------------------------------+
| Id | User | Host                 | db      | Command | Time | State                                | Info                                    |
+----+------+----------------------+---------+---------+------+--------------------------------------+-----------------------------------------+
|  2 | dba  | 192.168.168.13:34698 | dbatest | Query   |   13 | Waiting for semi-sync ACK from slave | update t set name = 'codis' where id = 2 |
|  3 | root | localhost            | NULL    | Query   |    0 | starting                             | show processlist                        |
+----+------+----------------------+---------+---------+------+--------------------------------------+-----------------------------------------+
2 rows in set (0.00 sec)

mysql> 

(3)暴力关闭主库的 MySQL

这个操作向主库所在服务器的 MySQL 进程发送 kill -9 信号,来暴力关闭 MySQL 。

# ps -ef|grep mysql|grep 6666
root     123194      1  0 15:45 pts/9    00:00:00 /bin/sh /opt/soft/mysql57/bin/mysqld_safe --defaults-file=//work/mysql6666/etc/my6666.cnf
mysql    124539 123194  4 15:45 pts/9    00:00:02 /opt/soft/mysql57/bin/mysqld --defaults-file=//work/mysql6666/etc/my6666.cnf --basedir=/opt/soft/mysql57 --datadir=/work/mysql6666/var --plugin-dir=/opt/soft/mysql57/lib/plugin --user=mysql --log-error=/work/mysql6666/log/mysql.err --open-files-limit=65535 --pid-file=/work/mysql6666/var/mysql.pid --socket=/work/mysql6666/tmp/mysql.sock --port=6666
# kill -9 124539 123194
# 

kill -9 操作后,【操作一】所在的会话会被终止,并提示【ERROR 2013 (HY000) at line 1: Lost connection to MySQL server during query】

  • 在业务端看来,id=2这行数据没有被修改,所以数据是一致的。

三、停服流程介绍

本小节是通过阅读了 MySQL 官方文档后,简单介绍一下 MySQL 在接收了 SIGINT 信号后会做哪些事情,仅供参考。

该部分文档连接 https://dev.mysql.com/doc/refman/5.7/en/server-shutdown.html

1、停止接受新连接

为了预防在关闭系统过程再接收新任务,MySQL 会关闭 TCP/IP 端口、socket 等通道来阻止接受新的客户端连接。

2、处理已经建立的连接

这个过程会处理已经建立的连接, 对于空闲连接会马上杀掉。对于当前正在处理任务的线程(会定期检查它们的状态),如果是正在执行的未完成的事务,会回滚(非事务的引擎会导致部分失败部分成功),所以这个过程需要更长的时间。

针对这个我有一个疑问。在【安全关闭的测试场景】中,正在等待ACK的任务会被提交,那么跟这个流程就有出入,所以我猜测这个流程之前会先关闭【等待ACK的线程】,然后再处理已经建立的连接,这样就能说的通,在【安全关闭的测试场景】中正在等待ACK的事务被提交了。当然这个思路仅是通过 MySQL 错误日志(如下展示)记录得出的猜测,仅供参考。

2022-03-25T17:17:58.165016+08:00 0 [Note] Giving 1 client threads a chance to die gracefully
2022-03-25T17:17:58.165059+08:00 0 [Note] Shutting down slave threads
2022-03-25T17:17:58.165070+08:00 3 [Warning] SEMISYNC: Forced shutdown. Some updates might not be replicated.
2022-03-25T17:17:58.165092+08:00 3 [Note] Semi-sync replication switched OFF.
2022-03-25T17:17:58.165654+08:00 0 [Note] Forcefully disconnecting 0 remaining clients
2022-03-25T17:17:58.165680+08:00 0 [Note] Event Scheduler: Purging the queue. 0 events
2022-03-25T17:17:58.165919+08:00 0 [Note] Binlog end
2022-03-25T17:17:58.167688+08:00 0 [Note] Shutting down plugin 'rpl_semi_sync_slave'
2022-03-25T17:17:58.167719+08:00 0 [Note] Shutting down plugin 'rpl_semi_sync_master'
2022-03-25T17:17:58.167745+08:00 0 [Note] Stopping ack receiver thread
2022-03-25T17:17:58.167831+08:00 0 [Note] unregister_replicator OK
2022-03-25T17:17:58.167843+08:00 0 [Note] Shutting down plugin 'ngram'

省略shutting down plugin

2022-03-25T17:17:58.167985+08:00 0 [Note] Shutting down plugin 'InnoDB'
2022-03-25T17:17:58.168053+08:00 0 [Note] InnoDB: FTS optimize thread exiting.
2022-03-25T17:17:58.168140+08:00 0 [Note] InnoDB: Starting shutdown...
2022-03-25T17:18:00.704250+08:00 0 [Note] InnoDB: Shutdown completed; log sequence number 63089498676
2022-03-25T17:18:00.705160+08:00 0 [Note] InnoDB: Removed temporary tablespace data file: "ibtmp1"
2022-03-25T17:18:00.705183+08:00 0 [Note] Shutting down plugin 'MEMORY'

省略shutting down plugin

2022-03-25T17:18:00.705547+08:00 0 [Note] Shutting down plugin 'binlog'
2022-03-25T17:18:00.706904+08:00 0 [Note] /opt/soft/mysql57/bin/mysqld: Shutdown complete

可以看到 shutdown 的整个过程,其中有一个【Stopping ack receiver thread】

3、关闭存储引擎

在这个阶段,服务器会刷新表缓存并关闭所有打开的表。

InnoDB 将其缓冲池刷新到磁盘(除非 innodb_fast_shutdown = 2),将当前 LSN 写入表空间,并终止其自己的内部线程。

4、服务器关闭

进程退出,端口关闭。

四、写在最后

测试结果有点惊讶,曾经认为危险的操作命令却是安全的,曾经认为安全的操作命令反而会导致数据异常。即便如此,我觉得也不用太过纠结了,毕竟丢数据的场景还是很苛刻的。

最后需要提醒一下,在5.7版本以前,要慎用 kill -9 。生产环境十分复杂,请时刻保持敬畏之心,任何操作请充分测试。

Anroid8.1 强制修改系统可以adb remount 在Android6.0 (Android M)user版本上,发现使用adb root后再adb remount系统之后会提示这样信息:remount of /system failed: Read-only file system,这是不能对system分区进行操作,提示没有写权限,为只读文件系统Read-only file system,因为系统本身在user就不支持可写操作,我们就不能adb push来调试apk,如果想调试apk就需要修改system、vendor权限问题。 如下现象: C:\Use 阅读详情

相关推荐

zds1104示波器使用指南

(2)将探头连接到探头补偿端,按下auto setup按键,一键捕获。(3)连接需要测量信号,开始查看波形。操作说明书,可以自行查看操作说明书。

m0_61973119的博客 6769

linux下启动mysql一直报错,MYSQL启动后报错故障问题的解决办法

MYSQL启动后报错故障问题的解决办法centos系统有一次异常关机后启动mysql一直报错#/etc/init.d/mysqld startStarting MySQL.. ERROR! The server quit without updating PID file (/data/mysql/linux-01.pid).查看错误日志如下[root@linux-01 ~]# tail /dat...

weixin_30451613的博客 1562

千兆以太网的接收和crc校验

解析该以太网帧,包括统计该以太网帧长度+过滤功能(端口号对不对,是否为udp协议)+CRC校验,将解析结果存入状态fifo,一旦状态fifo开始有数,就开始开启读过程,读过程开始时,首先读状态fifo,根据从状态fifo里面读出的以太网帧长度,来读数据fifo(这样能够防止跨帧读),然后在根据状态fifo里面读出的crc校验正确标志和过滤标志,来确定是否将数据fifo读出来的数据送给下一个模块。改掉之后在抓一下,可以看到抓出来的数据完全正确,从最后开始看,除去4个crc校验的尾巴,数据是到255结束的。

weixin_45284871的博客 2738

Linux上mysql第一次启动无密码直接登录原因以及解决 附mysql第一次启动ERROR 1045 (28000)解决方法

Linux上mysql第一次启动无密码直接登录原因以及解决 附mysql第一次启动ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)解决方法

当年月明的博客 2341

NVMe-MI --- Message Servicing Model(消息服务模型)

本文主要介绍NVMe-MI消息服务模型,两个主要类别是请求消息和响应消息。并介绍带外机制消息服务状态机。

智小星的博客 2011

JOOQ用法和实例

jOOQ,是一个ORM框架,利用其生成的Java代码和流畅的API,可以快速构建有类型约束的安全的SQL语句。jOOQ的核心优势是可以将数据库表结构映射为Java类,包含表的基本描述和所有表字段。通过jOOQ提供的API,配合生成的Java代码,可以很方便的进行数据库操作生成的Java代码字段类型是根据数据库映射成的Java类型,在进行设置和查询操作时,因为是Java代码,都会有强类型校验,所以对于数据的输入,是天然安全的,极大的减少了SQL注入的风险。

m0_67403076的博客 1376

mysql启动的报错

由于项目需要不得不折腾mysql,redhat上安装了最新的mysql 5.6启动报错如下:[root@tserver mysql]# /etc/init.d/mysql startStarting MySQL.The server quit without updating PID file (/var/lib/mysql/tserver.pid).[FAILED]检查报错...

weixin_34268169的博客 237

【Unity 实用工具篇】✨| 受击插件Feel 详细教程,开发游戏时更好的操控 游戏打击感

在一个游戏中,游戏手感对于游戏的整体游玩体验是非常重要的,而游戏手感中有一个很重要的点:打击感 那本篇文章就来讲一下打击感中的受击反馈部分。 在游戏中经常会用到攻击敌人,敌人扣血,执行某些受击功能的执行,尤其是对于有战斗场景的游戏来说,这就是标准的受击反馈。 所以引出本篇文章的主角:受击插件 Feel 的使用,2D和3D游戏都可以使用。

努力前行,总会成为自己心中的那道光 3万+

解决Linux上Mysql服务器异常挂掉的一次经历

2018-12-25 14:49:57 25873 [Note] Plugin ‘FEDERATED’ is disabled. 2018-12-25 14:49:57 25873 [Note] InnoDB: Using atomics to ref count buffer pool pages 2018-12-25 14:49:57 25873 [Note] InnoDB: The Inno...

MrHuang 5821

YOLOv13保姆级教程+AKConv模块:可变形卷积+自适应核优化,mAP提升3.23%,召回率&mAP50~95显著提升(论文涨点模块已验证)

本文介绍了一种改进的YOLOv13-AKConv模型,通过引入AKConv模块显著提升了目标检测性能。实验结果表明,优化后的模型(绿色曲线)相比原模型(蓝色曲线)在mAP指标上提升了3.23个点,同时召回率、mAP50-95等指标均有明显提升。作者详细阐述了模型移植过程,包括创建yolov13-AKConv.yaml配置文件,修改tasks.py和modules/init.py文件,以及实现AKConv模块的核心代码。该模块采用可变形卷积思想,通过动态生成采样点位置来增强特征提取能力,并集成了BN和SiLU

FJN110的博客 2611

光学系统仿真软件:OSLO_(13).衍射光学元件设计v1

目标函数是设计DOE的关键步骤之一。目标函数可以是一个具体的光强分布,也可以是一个特定的波前形状。在仿真软件中,目标函数通常用数学表达式或数据文件来定义。假设我们需要设计一个二元相位掩模,使其在特定位置生成三个焦点。我们可以定义一个目标函数来描述这三个焦点的光强分布。# 定义目标函数"""定义一个多焦点目标函数:param x: 横坐标:param y: 纵坐标:param z1: 第一个焦点的深度:param z2: 第二个焦点的深度:param z3: 第三个焦点的深度。

kkchenjj的博客 1001

无损半同步复制下,主从切换后数据一致吗?

作者:芬达“芬达的数据库学习笔记" 公众号作者,国内最活跃 mysql ocp 考试讨论群群主,群号:120242978 。本文来源:原创投稿* 爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。高能警告,因作者能力有限,文章的分析过程没有基于 MySQL 源码,而是根据一些业界大佬的文章和官方文档整理和思考得出的结论,如果觉得说得有道理,请点个赞,如果觉得胡说八道请留言...

老叶茶馆 309

《网络摄像机实战⑦:嵌入式端AWS KVS IoT SDK 库编译与测试全流程-君正/瑞芯微/全志(超详细指南)》

本文介绍了AWS音视频和物联网解决方案的核心组件与集成方法。主要内容包括:1)Amazon Kinesis Video Streams(KVS)提供的WebRTC托管服务,支持实时音视频流传输与双向交互;2)AWS IoT云服务实现设备连接与集成;3)详细说明了KVS WebRTC库的编译过程,包括源代码下载、CMake配置和依赖库生成;4)KVS Producer库的集成方法,重点阐述了存储空间调整和mbedtls版本适配等关键修改点。文章为开发者提供了AWS音视频和物联网服务的技术实现指南,特别针对嵌入

lvj_158的专栏 109

关于 MySQL 每次开机后需要很长时间才能启动的问题

现象, 通过查看 日志, 220201 13:48:56 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended 220201 13:58:54 mysqld_safe Logging to ‘/var/log/mysqld.log’. 可以看到,这里经过了10分钟,MySQL才进行了第二次尝试启动, 在这里卡了10分钟之久, 查看, /etc/my.cnf [root@bogon ~]# cat /etc/my.cnf [m

m0_47505062的博客 5382

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

安装mysql数据库及问题解决方法

1、mysql官网下载安装包,官网地址: www.mysql.com [root@localhostsoftware]# ll total 580020 -rw-r--r--. 1 root root 593940480 Mar 25 18:57 mysql-5.7.21-1.el7.x86_64.rpm-bundle.tar 2、解压 [root@localhostsoftware]...

一花一世界 2140

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

mysql安装 1067_mysql安装后启动不了服务,一直提示错误1067?

我看到错误日志如下,求救2016-03-0715:58:253340[Note]wampmysqld64:Normalshutdown2016-03-0715:58:253340[Note]Giving0clientthreadsachancetodiegracefully2016-03-0715:58:253340[Note]EventSchedul...

weixin_30487899的博客 456

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

mysql安装

可能是/usr/local/MySQL/data/mysqld.pid文件没有写的权限 解决方法 :  给予权限,执行  “chown -R mysql:mysql /usr/local/MySQL/data/”  “chmod -R 755 /usr/local/mysql/data”  然后重新启动mysqld! https://blog.youkuaiyun.com/ljz888666555/art...

qq_37002521的博客 399

Mysql日志

2022-09-04T17:24:39.113877Z 46719 [ERROR] Event Scheduler: [root@localhost][yunjunet_cn.自动添加联系客服] Can't update table 'yyxxjh_postmeta' in stored function/trigger because it is already used by statement which invoked this stored function/trigger.

科大云炬 4942

MySQL使用过程中报错记录

MySQL启动过程中一系列问题及解决办法记录 很久没有使用MySQL了,突然需要用到它,但是却在启动MySQL服务时候遇到一堆的问题,在此一一记录下来,以便后效。以下记录顺序为操作及遇到问题的顺序 启动mysql 在CMD中cd 到MySQL安装文件bin目录下输入命令:mysql -u root -p 然后输入密码。在这里遇到了第一个错误。Access denied for user ‘ro...

mts8939的博客 672

mysql TMM_MYSQL挂了,不断重复着

下面信息是MSYQL 错误日志,无限循环报告错误。 前台是有ZABBIX 引起的。ZABBIX HOSEKEEPER PROCESS MORE THAN 75% busy。。。。。history syncer ........................escalator ..........3个进程太过繁忙,导致数据库时不时挂掉。 ZABBIX 保留历史数据90天,每1个小时启动进程去删除历...

weixin_35197990的博客 1100

mysql5.7主从复制延时过大,stop slave夯住

一、说明 mysql5.7的GTID多线程主从模式的复制,复制延时过大: 【mysql主从告警】时间:20170725 14:25:02|【192.xx : xx】 与【 从库:192.xx : xx 】 主从延时过大,超过457642 s! 异常分析: 1、从库基本不可用 2、slave备份数据不可靠,延迟太大; 3、若半同步复制情况,影响主库的性能 二、排查

学无涯,愈进而愈惘 5971

mysql 1205 解决_mysql 1205 ,自动重启数据库

最近 mysql 从库老是发生错误然后自动重启数据库,比如以下错误:2017-06-11T10:09:59.977948+08:00 1 [Note] Slave I/O thread killed while reading event for channel ''2017-06-11T10:09:59.977983+08:00 1 [Note] Slave I/O thread exiting...

weixin_39841709的博客 476

mysql 被关闭了_mysql被关闭简析

mysql被关闭简析发布时间:2020-04-29 15:53:41来源:亿速云阅读:148作者:亿速云本文主要给大家介绍mysql被关闭简析,文章内容都是笔者用心摘选和编辑的,具有一定的针对性,对大家的参考意义还是比较大的,下面跟笔者一起了解下主题内容吧。2019-06-13T02:33:01.664701Z 0 [Note] Giving 21 client threads a chance ...

weixin_42467411的博客 975

mysql停备库_MySQL频繁停库的问题分析(r12笔记第33天)

最近也抽空帮一些网友解决一些问题,有些是Oracle,有些是MySQL,有时候虽然忙忙乎乎,但是解决问题之后还是很有成就感的。今天来说一个蛮有意思的问题,听起来还很诡异。是一个网友向我咨询,看看能不能给出一些建议。当我看到日志,隐隐感觉这是一个bug的感觉。详细的日志如下:2017-04-13 16:25:29 40180 [Note] Server socket created on IP: '...

weixin_39966465的博客 708

the server quit without updating pid mysql报这个错误,你知道是怎么回事不?

休息之时,开发一台测试机说mysql启动不了,报以上错误,和往常一样,网上的文章并没有卵用,于是自己看日志,解决方法如下:Hash2017/1/711:04:50我刚起床啊李飞平2017/1/711:05:11194的mysql报错,不急Hash2017/1/711:05:21你看下free-m李飞平2017/1/711:05:32没问题,还有9个GHa...

weixin_33928467的博客 555
上一篇: 数据传输 | 利用 DTLE 将 MySQL 数据同步到 DBLE
下一篇: 新特性解读 | MySQL 8.0 窗口函数一次疑问解答
爱可生开源社区
博客等级 码龄8年 1936粉丝 1004原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值