-
运用mysqlbinlog_flashback闪回误删除的表
所属栏目:[MySql教程] 日期:2022-04-02 热度:141
本实验模拟把生产库当做测试库,对某张表做了大量DML操作,然后进行闪回的过程。 此脚本为阿里DBA在mysqlbinlog基础上进行改进来的,网上可以下载到。 一、DML操作 模拟生产库的错误DML操作 mysql show tables; +----------------+ | Tables_in_test | +--[详细]
-
mysql教学 锁
所属栏目:[MySql教程] 日期:2022-04-02 热度:92
mysql学习 锁: 1. 锁 InnoDB支持行锁,有时升级为表锁。 MyISAM只支持表锁。 表锁:开小小,加锁快,不会出现死锁;锁粒度大,锁冲突概率高,并发度低。 行锁:开销大,加锁慢,会出现死锁,锁粒度小,锁冲突概率低,并发高。 1.1. InnoDB锁类型 主要分为[详细]
-
MySQL 数据备份mysqldump与复原mysql
所属栏目:[MySql教程] 日期:2022-04-02 热度:121
MySQL 数据备份mysqldump与还原mysql: 一、手工备份和还原: 1、手工备份mysqldump,这个命令在cmd控制台执行: mysqldump -uroot -proot 数据库[表1 表2] 文件路径 2、备份多个数据库 mysqldump -u username -p --databases dbname2 dbname2 Backup.sql[详细]
-
MySQL存储写入速度慢解析
所属栏目:[MySql教程] 日期:2022-04-02 热度:186
MySQL存储写入速度慢分析: 一、存储结构分析 解析: 1、读操作:内存读--cache缓存读--磁盘物理读 读取到的数据会按上述顺序往回送。 2、写操作:内存数据直接写入cache缓存(非常快)--写入disk 由上可知,MySQL之所以读写速度快,cache在其中起到了关键作[详细]
-
MyCat分库分表--实践07--按日期天
所属栏目:[MySql教程] 日期:2022-04-02 热度:55
项目环境: 192.168.8.30 mycat 192.168.8.31 node1 192.168.8.32 node2 192.168.8.33 node3 三个节点MySQL均为单实例 一、创建测试库 node1 create database testdb01; create database testdb02; create database testdb03; create database testdb04; c[详细]
-
MySQL执行计划explain输出列结果剖析
所属栏目:[MySql教程] 日期:2022-04-02 热度:151
MySQL执行计划explain输出列结果剖析: 1) id:每个被独立执行的操作的标识,表示对象被操作的顺序;id值大,先被执行;如果相同,执行顺序从上到下。 2) select_type:查询中每个select子句的类型; 3) table:名字,被操作的对象名称,通常是表名,但有[详细]
-
分析MYSQL BINLOG 二进制格式 --准备工作
所属栏目:[MySql教程] 日期:2022-04-02 热度:141
分析MYSQL BINLOG 二进制格式 --准备工作: 一、目的 本系列文件主要为了说明 1、为什么说row格式较statement更占空间 2、为什么说row格式的binlog更加安全 3、INSERT/UPDATE/DELETE是生成的row binlog如何直接看懂二进制格式 4、DDL生成的binlog是怎么样[详细]
-
mysqldump导入存储步骤和其注释
所属栏目:[MySql教程] 日期:2022-04-02 热度:73
mysqldump导出存储过程时,会有注释的。但是在用mysql命令导入时,如果不加说明,注释会自动过滤掉。为了连同注释一起导入进去,可以添加--comment参数。 例子: 导出存储过程: set date=%date:~0,4%-%date:~5,2%-%date:~8,2% set v_backup_file_name=xed[详细]
-
MySQL5.7.17源码编译安装时的注意点
所属栏目:[MySql教程] 日期:2022-04-02 热度:92
解压: # cd /root #tar xvzf boost_1_59_0.tar.gz 进入boost_1_59_0目录: #cd /root/boost_1_59_0 然后是编译安装,直接执行bootstrap.sh就可以: #sh ./bootstrap.sh Building Boost.Build engine with toolset gcc... tools/build/v2/engine/bin.linux[详细]
-
半同步与加强半同步复制
所属栏目:[MySql教程] 日期:2022-04-02 热度:67
先要明白事务提交的三个阶段,这里不再赘述。 半同步复制:主上已经提交了,但是日志还没来得及传到备库,这时候宕机了,在半同步看来,主库其他会话看来是透明的,看到的是他提交了的数据,但是如果这时候切换到slave,slave上又没有提交,没有看到这部分[详细]
-
SQL业务审查与优化
所属栏目:[MySql教程] 日期:2022-04-02 热度:116
审核 什么是业务审核 类似与code review 评审业务Schema和SQL设计 偏重关注性能 是业务优化的主要入口之一 审核提前发现问题,进行优化 上线后通过监控或巡检发现问题,进行优化 Schema设计审核 表和字段命名是否合规 字段类型,长度设计是否适当 表关联关[详细]
-
mysql的auto_increment细说
所属栏目:[MySql教程] 日期:2022-04-02 热度:182
MySQL的中AUTO_INCREMENT类型的属性用于为一个表中记录自动生成ID功能,可在一定程度上代替Oracle,PostgreSQL等数据库中的sequence。 在数据库应用,我们经常要用到唯一编号,以标识记录。在MySQL中可通过数据列的AUTO_INCREMENT属性来自动生成。 当插入[详细]
-
将数据从文本导入至mysql
所属栏目:[MySql教程] 日期:2022-04-02 热度:60
将数据从文本导入到mysql(转)[@more@]access中可以将文本中的数据轻松导入表中,mysql中用起来没那么方便,其实起来也很简单。 首先将数据记录按行处理好用特定的字符分开如:, 记录形如: aaa,bbb,ccc,ddd,eee fff,ggg,hhh,iii,jjj,kkk 就行,建立loaddate[详细]
-
MySQL 5.7中如何定位DDL被阻塞的难题
所属栏目:[MySql教程] 日期:2022-04-02 热度:103
在MySQL 5.7中,针对MDL,引入了一张新表performance_schema.metadata_locks,该表可对外展示MDL的相关信息,包括其作用对象,类型及持有等待情况。 开启MDL的instrument 但是相关instrument并没有开启(MySQL 8.0是默认开启的),其可通过如下两种方式开[详细]
-
MySQL内的derived table
所属栏目:[MySql教程] 日期:2022-04-02 热度:170
初始MySQL中的derived table还是在一个偶然的问题场景中。 下面的语句在执行的时候抛出了错误。 UPDATE payment_data rr SET rr.penalty_date = 2017-4-12 where rr.id = (SELECT min(r.id) FROM payment_data r where data_no = (SELECT data_no FROM use[详细]
-
MySQL Cluster 配备文件
所属栏目:[MySql教程] 日期:2022-04-01 热度:55
MySQL Cluster 配备文件: 1、管理节点 config.ini [tcp default] SendBufferMemory=2M ReceiveBufferMemory=2M [ndb_mgmd default] PortNumber=1185 DataDir=/u01/mysql-cluster/data/ndb_mgmd [ndb_mgmd] id = 1 hostname=localhost [ndbd default] NoOf[详细]
-
怎样在磁盘上查找MySQL表的大小?此处有答案
所属栏目:[MySql教程] 日期:2022-04-01 热度:63
我想知道 MySQL 表在磁盘上占用多少空间,但看起来很琐碎。不应该在 INFORMATION_SCHEMA.TABLES 中提供这些信息吗?没那么简单! 这个看似简单的问题实际上在 MySQL 中非常复杂。MySQL 支持许多存储引擎(其中一些根本不在磁盘上存储数据), 不同的存储数据格[详细]
-
关于innodb中查询的定位方式
所属栏目:[MySql教程] 日期:2022-04-01 热度:82
涉及源码文件 page0cur.cc page0page.h page0page.cc rem0cmp.cc 为什么谈及定位方法,因为在innodb中,比如一个插入语句我们需要定位在哪里插入(PAGE_CUR_LE),比如一个查询语句我们需要定位到其第一个需要读取数据的位置,因此定位方法是查询的根本。而[详细]
-
CentOS 6.7下源码编译安置MySQL 5.7.5
所属栏目:[MySql教程] 日期:2022-04-01 热度:63
CentOS 6.7下源码编译安置MySQL 5.7.5: 1. 安装相关工具 # yum -y install gcc-c++ ncurses-devel cmake make perl gcc autoconf automake zlib libxml libgcrypt libtool bison 2. 清理环境 检查boost版本: # rpm -qa boost* 卸载boost-*等库: # yum -[详细]
-
MySQL权限表简介
所属栏目:[MySql教程] 日期:2022-04-01 热度:189
MySQL权限表存放在MySQL数据库里,由mysql_install_db脚本初始化。这些MySQL权限表分别为user、db、table_priv、 columns_priv、proc_priv和host。 表结构内容简单介绍: user权限表:记录允许连接到服务器上的用户账号信息,其中的权限是全局级的。 db权限[详细]
-
MySQL 5.7和8.0 MHA结构下sysbench压测
所属栏目:[MySql教程] 日期:2022-04-01 热度:83
sysbench压测环境: sysbench server:172.16.7.105 压测数据库服务器:MHA架构,172.16.7.100(主节点)、172.16.7.101、172.16.7.102 MySQL在172.16.7.105(安装MySQL5.7.26)部署目录:/opt/mysql/ 主要压测172.16.7.100主节点 172.16.7.100配置: MySQ[详细]
-
连接数过多,应急处理方法
所属栏目:[MySql教程] 日期:2022-04-01 热度:71
连接数过多,应急处理方法: 一、问题描述 今天突然接到个问题,网页报错:503 Service Temporarily Unavailable。经过查询发现是某个用户的连接超级多,已经将数据库连接占满。处理方案,即时杀掉堵塞的进程,之后可以扩大max_connections参数。 二、处理[详细]
-
Mysql 5.7 Gtid内部学习 Mysql开启初始化Gtid模块
所属栏目:[MySql教程] 日期:2022-04-01 热度:113
本节也是一个重头戏,后面的故障案例也和本节有关。本节将详细介绍Gtid模块的初始化,以及什么时候读取了我们前文提及的两个Gtid持久化介质: binlog文件 mysql.gtid_executed表 此外也会描述他们的读取方式。 同时分析这个步骤我也将在重点步骤分为两种情[详细]
-
MySQL什么情况下删掉数据会释放空间
所属栏目:[MySql教程] 日期:2022-04-01 热度:100
MySQL什么情况下删除数据会释放空间: 1、drop table table_name 立刻释放磁盘空间 ,不管是 Innodb和MyISAM 2、truncate table table_name 立刻释放磁盘空间 ,不管是 Innodb和MyISAM 。truncate table其实有点类似于drop table 然后create。只不过这个cr[详细]
-
mysql锁之三种行级锁解说
所属栏目:[MySql教程] 日期:2022-04-01 热度:185
本文主要介绍 1.mysql三种行锁介绍 2.RR模式下,next-key lock为什么可以解决幻读问题 首先,创建一张表: mysql show create table test01G *************************** 1. row *************************** Table: test01 Create Table: CREATE TABLE[详细]