-
MySQL innodb引擎的事务执行步骤
所属栏目:[MySql教程] 日期:2022-04-09 热度:50
通过这篇文章可以了解到下面几个问题 问题1:MySQL innodb引擎的update的流程; 问题2:以及写redo,undo,binlog的顺序,然后刷盘的顺序又是什么呢? 问题3:以及刷新redo和脏数据的相关进程; 总结以上的三个问题,其实就是关于MySQL innodb事务的流程;那[详细]
-
MySQL 5.7创建多源复制
所属栏目:[MySql教程] 日期:2022-04-09 热度:98
MySQL 5.7版本支持多源复制,MySQL 5.5和5.6不支持。 多源复制可以让多个主节点同时并行进行复制到一个从节点上。一个slave为每个master创建一个复制通道。 至少需要两台主库和一台从库。 多源复制中的主库,可以配置成基于全局事务标准(GTID)的复制,或者[详细]
-
学会用各种方法备份MySQL数据库
所属栏目:[MySql教程] 日期:2022-04-09 热度:82
前言 为什么需要备份数据? 数据的备份类型 MySQL备份数据的方式 备份需要考虑的问题 设计合适的备份策略 使用cp进行备份 使用mysqldump+复制BINARY LOG备份 使用lvm2快照备份数据 使用Xtrabackup备份 前言 试着想一想, 在生产环境中什么最重要?如果我们[详细]
-
MySQL主从不一致情形与解决办法
所属栏目:[MySql教程] 日期:2022-04-09 热度:84
MySQL主从不一致情形与解决办法: 一、MySQL主从不同步情况 1.1 网络的延迟 由于mysql主从复制是基于binlog的一种异步复制 通过网络传送binlog文件,理所当然网络延迟是主从不同步的绝大多数的原因,特别是跨机房的数据同步出现这种几率非常的大,所以做读[详细]
-
MySQL分库分表环境下全局ID生成办法
所属栏目:[MySql教程] 日期:2022-04-09 热度:115
MySQL分库分表环境下全局ID生成方案: 目录[-] 1. 数据库自增ID来自Flicker的解决方案 2. 独立的应用程序来自Twitter的解决方案 在大型互联网应用中,随着用户数的增加,为了提高应用的性能,我们经常需要对数据库进行分库分表操作。在单表时代,我们可以[详细]
-
MySQL5.7关闭NUMA方式
所属栏目:[MySql教程] 日期:2022-04-09 热度:88
非一致存储访问结构 (NUMA : Non-Uniform Memory Access) 也是最新的内存管理技术。它和对称多处理器结构 (SMP : Symmetric Multi-Processor) 是对应的。 MySQL在NUMA架构上会出现的问题: 1).CPU规模因摩尔定律指数级发展,而总线发展缓慢,导致多核CPU[详细]
-
MySQL每秒57万的写入,迅速还是慢?
所属栏目:[MySql教程] 日期:2022-04-09 热度:146
MySQL每秒57万的写入,快还是慢? 一、需求 一个朋友接到一个需求,从大数据平台收到一个数据写入在20亿+,需要快速地加载到MySQL中,供第二天业务展示使用。 二、实现再分析 对于单表20亿, 在MySQL运维,说真的这块目前涉及得比较少,也基本没什么经验,[详细]
-
数据库的那点事
所属栏目:[MySql教程] 日期:2022-04-09 热度:117
谈到数据库,大家第一想法就是怎么去优化,怎么让查询操作更快。我认为最好的方式就是从开始数据库设计的时候就要尽量考虑周全。如果不幸是个老项目,就得从优化入手了。接下就从设计和优化谈一下我的一些认识和经验。 1:数据库的设计 一个好的数据库设计[详细]
-
mysql的执行策划解释
所属栏目:[MySql教程] 日期:2022-04-09 热度:90
关于MySQL的执行计划,做个笔记,可以做为优化的依据,尽量将第四列 type优化到ref,至少要保证range方式,能用覆盖索引的要使用覆盖索引,然后possible_keys显示null不代表不使用索引,覆盖索引的时候,可能只在key列显示,possible_keys显示null;然后注[详细]
-
xtrabackup自主全备份脚本
所属栏目:[MySql教程] 日期:2022-04-09 热度:170
xtrabackup自动全备份脚本,具有发送邮件和主从判断功能. ##set environment## . ~/.bash_profile BASEDIR=/data_bak SPACE_RATE=95 #space rate 95 SPACE_ROOM=10485760 #10GB WORKPATH=/data_bak/mysqlbackup/percona DATETIME=`date +%Y%m%d%H%M` INNOBA[详细]
-
MySQL 5.5 FLUSH TABLES WITH READ LOCK语句简介
所属栏目:[MySql教程] 日期:2022-04-09 热度:127
FLUSH TABLES WITH READ LOCK语句会关闭所有打开的表,并将所有数据库的表加上全局只读锁。 这对于备份来说十分方便。如果有像 Veritas 或 ZFS 这样的文件系统,你可以对备份打快照。 也可以直接拷贝要备份的表文件到备份目录 cp -r /data_dir/ /back_dir[详细]
-
MySQL Order By排序结果
所属栏目:[MySql教程] 日期:2022-04-09 热度:195
我们已经看到使用SQL SELECT命令从MySQL表中获取数据。当选择数据行,MySQL服务器可以自由地返回它们的顺序,除非有指示它按照怎样的结果进行排序。但是排序结果可以通过增加一个ORDER BY子句设定列名称或要排序的列。 语法 这是使用ORDER BY子句从MySQL表[详细]
-
MySQL Join联接
所属栏目:[MySql教程] 日期:2022-04-09 热度:102
到目前为止,我们只是从一个表读取数据。这是相对简单的,但在大多数现实中的MySQL使用,需要从多个表中,在单个查询获得数据。 可以在单个SQL查询中使用多个表。连接MySQL中的行在两个或多个表到一个表。 可以使用Join在SELECT,UPDATE和DELETE语句加入My[详细]
-
mysql 半等步复制
所属栏目:[MySql教程] 日期:2022-04-09 热度:192
mysql 半同步复制: 一.半同步复制 半同步复制特点 1. 与传统的异步复制相比,半同步复制在多个Slave节点中会选取一个节点进行半同步复制。也就是说,当Master提交一个事务的时候,在这个半同步复制的Slave端返回一个同步完成的Ack包之后,服务器才会向用[详细]
-
mysql系列的 mmm高可用集群
所属栏目:[MySql教程] 日期:2022-04-09 热度:163
mmm高可用集群介绍: 高可用集群介绍:主备模式,当主不能提供服务的时候备用主机接替它提供服务。 这个过程对于客户端是透明的。 一、前期准备工作 1、准备五台linux服务器:主(192.168.4.122),主备(192.168.4.123) 从(192.168.4.126),从(192.16[详细]
-
mysql select之后的子查询
所属栏目:[MySql教程] 日期:2022-04-09 热度:166
select后面的子查询使用,只能是标量查询 #案例:查询每个部门的员工个数 SELECT d.*,( SELECT COUNT(*) FROM employees WHERE employees.`department_id`=d.department_id ) FROM departments d; #案例:查询员工号=102的部门名 SELECT department_name FR[详细]
-
MySQL Batched Key Access BKA 原理和设定使用办法举例
所属栏目:[MySql教程] 日期:2022-04-09 热度:141
MySQL 5.6版本开始增加了提高表join性能的算法:Batched Key Access (BKA)的新特性。 BKA算法原理:将外层循环的行/结果集存入join buffer,内存循环的每一行数据与整个buffer中的记录做比较, 可以减少内层循环的扫描次数. 对于多表join语句,当MySQL使用[详细]
-
MySQL 存储过程空结果集错误Error 1329 No data 的异常处置
所属栏目:[MySql教程] 日期:2022-04-09 热度:60
在MySQL的存储过程中,当查询到空结果集时会产生下面报错 Error 1329 No data - zero rows fetched, selected, or processed 解决方法: 在存储过程中,添加异常处理 注意代码中的橙色部分的异常代码 delimiter $$ CREATE PROCEDURE PROC_ADDSubscribers_d[详细]
-
实例解读 MySQL并行复制如何解决特定的主从难题?
所属栏目:[MySql教程] 日期:2022-04-09 热度:75
并行复制存世已多年,但是在实际应用场景中的使用并不常见。这次很幸运,我们刚好遇到一个客户,主的写入工作量非常大,但是从难以跟上,在这种情况下,我建议它使用并行从属线程。 那么,如何衡量并行复制是否在客户的场景中发挥了作用?对于客户业务能够[详细]
-
SQL存储过程中运用BEGIN TRY捕捉错误并保存
所属栏目:[MySql教程] 日期:2022-04-09 热度:147
SQL存储过程中使用BEGIN TRY捕捉错误并保存: 1、创建保存错误的数据表: /*创建错误日志表*/ CREATE TABLE ErrorLog( errNum INT, ErrSev NVARCHAR(500), ErrState INT, ErrProc NVARCHAR(1000), ErrLine INT, ErrMsg NVARCHAR(2000) ) 2、创建保存错误信[详细]
-
MySQL Innodb表空间卸载和迁移案例
所属栏目:[MySql教程] 日期:2022-04-08 热度:79
需求: 两台服务器A(192.168.1.1)和服务器B(192.168.1.2) 数据目录都为:/usr/local/mysql/data 现在想把A服务器上/usr/local/mysql/data下的chenfeng数据库迁移到B服务器上,只迁移chenfeng库,其他数据库不动。 步骤如下: 在服务器B上: 建库: mysql create[详细]
-
小心避坑 MySQL分页时出现的数据重复问题
所属栏目:[MySql教程] 日期:2022-04-08 热度:66
问题描述 在MySQL中我们通常会采用limit来进行翻页查询,比如limit(0,10)表示列出第一页的10条数据,limit(10,10)表示列出第二页。但是,当limit遇到order by的时候,可能会出现翻到第二页的时候,竟然又出现了第一页的记录。 具体如下: SELECT `post_tit[详细]
-
ERROR 1114 HY000 The table test1 is full 的解决
所属栏目:[MySql教程] 日期:2022-04-08 热度:64
今天执行sql碰到 1114的错误,如下: mysql insert into test1 select * from test; Query OK, 1778 rows affected (0.06 sec) Records: 1778 Duplicates: 0 Warnings: 0 mysql insert into test1 select * from test; ERROR 1114 (HY000): The table test[详细]
-
mysql sysbench 1.0.X
所属栏目:[MySql教程] 日期:2022-04-08 热度:125
mysql sysbench 1.0.X: 1.安装sysbench yum install sysbench 2.download source code sysbench-1.0.14srclua,所有文件上传Linux /opt目录 3.准备mysql CREATE DATABASE tdb01; CREATE USER root@192.168.0.130 IDENTIFIED BY root123; GRANT ALL PRIVI[详细]
-
使一个新的MySQL安装更安全
所属栏目:[MySql教程] 日期:2022-04-08 热度:70
使一个新的MySQL安装更安全 (转)[@more@]在你自己安装了一个新的MySQL服务器后,你需要为MySQL的root用户指定一个目录(缺省无口令),否则如果你忘记这点,你将你的MySQL处于极不安全的状态(至少在一段时间内)。 在Unix(Linux)上,在按照手册的指令安[详细]