-
SQL查询集合返回为 null,null 的问题研究
所属栏目:[MySql教程] 日期:2022-03-29 热度:131
在Java项目中通过Mybatis查询数据库某个表的部分字段,方回值为listT 。有时候会出现 [ null ,null ] 现象。 具体原因是查询SQL只是取部分字段,而且这几个字段是 null。 但对于数据库表的其他字段来说,查询却是有值的,只是恰巧你查询的字段为Null。 执行[详细]
-
mysql恢复drop表
所属栏目:[MySql教程] 日期:2022-03-29 热度:131
drop误操作删除表后,恢复的大概流程是 1、从备份中将表恢复到备份时间点 2、找到drop操作点 3、从binlog中找到备份点到drop点中间所有事件,并筛选出该表的事件 4、执行找到该表的事件 一、实验数据: mysql select * from sale; +--------+---------+-----[详细]
-
总结了这些简单的MySQL命令
所属栏目:[MySql教程] 日期:2022-03-29 热度:172
小长假好快就结束了,我相信好多小伙伴和我一样,感觉还没有休息够,就结束了,休息的有点赶脚。 我在厂家之余为大家总结了一些关于MySQL的一些内容,现在我分享给大家。 对于初学MySQL的童鞋来说,可能会需要下面的一些简单的MySQL命令: 如何确定MySQL是否[详细]
-
mysql锁等待查询分析
所属栏目:[MySql教程] 日期:2022-03-29 热度:60
mysql锁等待分析 1、简单说明 使用innodb存储引擎后,mysql有三张表来分析锁及阻塞的问题,在information_schema下面有三张表:INNODB_TRX、INNODB_LOCKS、INNODB_LOCK_WAITS,通过这三张表,可以更简单地监控当前的事务并分析可能存在的问题。 mysql show ta[详细]
-
Percona MySQL 5.5 Linux通用二进制包安装 CentOS 6.9
所属栏目:[MySql教程] 日期:2022-03-29 热度:50
创建软件安装目录 mkdir /mysql_software_55 下载软件 Percona官网的下载页面有两个二进制Tar包,分别对应不同的发行版本 ssl100 - Debian/Ubuntu ssl101 - for CentOS 6 and CentOS 7 解压安装包 tar xvfz Percona-Server-5.5.58-rel38.10-Linux.x86_64.ssl[详细]
-
MySQL Online DDL的实现细节介绍
所属栏目:[MySql教程] 日期:2022-03-29 热度:125
MySQL Online DDL的实现细节共分为三个阶段: Prepare阶段 1.创建临时frm文件 2.持有EXCLUSIVE-MDL锁,禁止读写 3.根据ALTER类型,确定执行方式(copy,online-rebuild,online-norebuild) 4.更新数据字典的内存对象 5.分配row_log对象记录增量 6.生成临时ibd文[详细]
-
MySQL 5.6大查询和大事务监控脚本 Python 2
所属栏目:[MySql教程] 日期:2022-03-29 热度:84
可以配置在Zabbix里面,作为监控的模版 #!/usr/bin/env python # import MySQLdb,MySQLdb.cursors import sys,time from datetime import datetime innodb_lock_output_file = /tmp/innodb_lock_output.log # socket_dir = /var/lib/mysql/mysql.sock time_s[详细]
-
MySQL执行计划解析
所属栏目:[MySql教程] 日期:2022-03-29 热度:124
本文是对于MySQL执行计划的解析,主要解释了MySQL执行计划中的各个参数及含义。 产生的值 存在六种情况: Using filesort、Using temporary、use index、using where、using join buffer、impossible where 1、Using filesort 说明mysql会对数据使用一个外部[详细]
-
mysql主从同步错误Last_SQL_Errno 1032处理分析
所属栏目:[MySql教程] 日期:2022-03-29 热度:144
在MySQL DBA 日常运维工作中,主从同步失败一定是会遇到的,最常见建是1032错误。 1032错误的主要原因是主库更新或者是删除的记录在从库上不存在引起的。 处理此种错误一般有两种思路: 1、直接跳过错误执行语句 2、找到错误执行语句,修复从库数据 第一种解[详细]
-
msyql 的半同时复制
所属栏目:[MySql教程] 日期:2022-03-28 热度:193
mysql的半同步复制: mysql的异步复制:mysql默认使用异步方式进行同步,master在执行客户端提交的事务后会将结果返回给客户端,表示客户端的操作已经生效,同时会将该操作的binlog通过dumper通知slave来取,再正常情况下,slave会将该binlog写入本地,并通[详细]
-
mysql备份恢复实例丢失事务解析
所属栏目:[MySql教程] 日期:2022-03-28 热度:118
看到了一篇server id导致mysql备份恢复的时候丢失事务的文章,特此重现一下。 主备开启了GTID,实验过程如下: 1.主库执行: create database test1; create database test2; 2.主从没有延迟后备份,利用从库备份,物理或者逻辑都可以: mysqldump -uroot -p[详细]
-
聊聊MySQL死锁
所属栏目:[MySql教程] 日期:2022-03-28 热度:194
数据越来越和我们的生活离不开,数据在生命周期的各个阶段有着不同的痛点和需求以及特殊场景。 CURD是数据的四大基本需求:写入,更新,读取,删除. 今天,来谈一谈死锁问题 死锁是高并发下MySQL不可回避的一个问题。 这句话可以引申四个问题: 1.什么是死锁?[详细]
-
mysql5.6 — mysql5.7 GTID模式下多源复制之实践案例
所属栏目:[MySql教程] 日期:2022-03-28 热度:129
背景说明:公司有多个mysql实例,单实例多个数据库,而且版本还是5.6,这给数据查询分析增加了不少繁琐的事情。所以推荐使用mysql5.6的实例多源复制到mysql5.7实例下方便数据的查询、分析以及权限的管理 环境说明:10.89.3.224 mysql5.6.39 master1 10.89.3.2[详细]
-
heartbeat 3.0.4-drbd 8.9-Mysql 5.6--双机互备高可用布局
所属栏目:[MySql教程] 日期:2022-03-28 热度:148
heartbeat 3.0.4-drbd 8.9-MySQL 5.6协同工作原理:首先,heartbeat作为高可用的控制角色,负责drbd存储服务目录的挂载(这里,drbd的启动个人理解是随主机启动自动启动的,其作用就是将主节点本地的一块盘与对端备节点的一块盘做数据同步、保证两端主机drbd[详细]
-
mysql innodb 主键INT、BIGINT、VARCHAR并发插入性能比较
所属栏目:[MySql教程] 日期:2022-03-28 热度:62
10个并发共插入10万行 总耗时(s) 第一次 第二次 第三次 NT(-2147483648-2147483647) 198.13 197.25 197.56 BIGINT(-9223372036854775808-9223372036854775807) 195.83 197.75 197.85 VARCHAR[0-65535] 203.95 205.37 202.87 INT与BIGINT相差不大,VARCHAR插[详细]
-
mysql忘记root密码解决方式 linux
所属栏目:[MySql教程] 日期:2022-03-28 热度:74
mysql忘记root密码解决方式: 1.强制关闭mysql # pkill mysql 2.向配置文件添加 [mysqld] skip-grant-tables 3.重启mysql 点击(此处)折叠或打开 # /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --user=mysql [1] 29335 [root@mysql5 logs][详细]
-
mysql慢查询和错误日志剖析
所属栏目:[MySql教程] 日期:2022-03-28 热度:91
mysql慢查询和错误日志分析和告警查看比较麻烦,目前的慢查询告警都是仅仅反应慢查询数量的。 我们做了一个慢查询日志告警和分析的程序 后台使用filebeat日志文件托运工具,将日志传输到redis数据库。filebeat默认使用es。定时器1分钟执行一次。 vi /etc/fil[详细]
-
Centos7编辑安设mysql
所属栏目:[MySql教程] 日期:2022-03-28 热度:192
数据库的必要性:使用数据库可以高效且条例分明的存储数据,使人们能够更加迅速、方便管理数据。 数据库的3个特点: 可以结构化存储大量的数据信息,方便用户进行有效的检索和访问。 可以有效的保持数据信息的一致性,完整性,降低数据冗余。 可以满足应用的[详细]
-
MySQL8.0之跳跃区域扫描
所属栏目:[MySql教程] 日期:2022-03-28 热度:75
跳跃范围扫描是MySQL在8.0.13版本新增加的用于提高性能的新特性,跳跃范围扫描可以使以前部分无法使用到联合索引的SQL利用联合索引进行查询,并且可以更高效的利用联合索引,这对于使用MySQL联合索引进行查询的应用意义重大。 | 环境信息 MySQL版本:8.0.15[详细]
-
mysql repair with keycache 的一个处置
所属栏目:[MySql教程] 日期:2022-03-28 热度:123
今天一个朋友让我帮他处理以下1张3.78亿数据的表,需要导出2010年的数据到另外1张表,我查了下2010年的数据就有1.8,然后我修改了一下my.cnf的部分参数:[@more@] myisam_sort_buffer_size = 1024M tmp_table_size = 256M tmpdir = /back1/dzy_bak myisam_ma[详细]
-
InnoDB行溢出数据解说
所属栏目:[MySql教程] 日期:2022-03-28 热度:90
先说下MySQL数据库的varchar字段,真的很实用,它可以存放65536字节的数据,比oracle和sqlserver大多了,但是在使用varchar时也有几点要注意; 1、65536只是这么说,要建表的时候指定一个字段65536仍然会报错,因为字段本身还有其他开销,实际只能存放65532[详细]
-
Mysql二进制包设置
所属栏目:[MySql教程] 日期:2022-03-28 热度:131
安装环境 OS:RHEL 6.5_X64 Mysql:mysql-5.7.16-linux-glibc2.5-x86_64.tar.gz 1、确认是否已经安装了依赖包 [root@dbrac16 ~]# yum info libaio | grep -A 1 Installed This system is not registered to Red Hat Subscription Management. You can use su[详细]
-
把not in 更换成not exists后的优化
所属栏目:[MySql教程] 日期:2022-03-28 热度:140
把not in 改成not exists后的优化 近期,OA数据库里面存在一条慢SQL,其执行时间为3分16秒。这条慢SQL语句每个月可能会运行几次,但其运行后,总会导致数据库CPU利用率飙升。然后我就对这个慢SQL语句进行了改写测试,改写后的运行时间降为13s(虽然还是很慢[详细]
-
MySQL 5.1.73升级为MySQL 5.5.35解说
所属栏目:[MySql教程] 日期:2022-03-28 热度:91
注,测试环境 CentOS 6.4 x86_64,MySQL 版本(5.1.73、5.5.35)目前最新版。下载地址:http://dev.mysql.com/downloads/mysql/5.1.html#downloads。 一、前言 前几篇博客中我们讲解了MySQL5.1与MySQL5.5之间的性能差异,MySQL5.5的性能有明显的提升,特别是[详细]
-
MHA故障更换脚本master_ip_failover结合VIP
所属栏目:[MySql教程] 日期:2022-03-28 热度:79
MHA故障切换脚本master_ip_failover结合VIP: #!/usr/bin/env perl use strict; use warnings FATAL = all; use Getopt::Long; my ( $command, $ssh_user, $orig_master_host, $orig_master_ip, $orig_master_port, $new_master_host, $new_master_ip, $new_[详细]