
MySql
文章平均质量分 62
蜜獾互联网
聚焦国内外前沿技术文献、行业典型应用案例、互联网安全管理。
开源项目:https://gitee.com/ratel-admin
展开
-
mysql集群高可用mmm和mha对比
脑裂的原因,在于旧master节点没有正常将VIP摘掉,这时局域网机器通过ARP获取VIP的MAC时,就可能取到旧的MAC地址,导致与旧master通信。旧master由于上层交换机故障,未与manager节点正常通信,此时VIP是没有摘除掉的,过了一段时间上层交换机恢复了就会导致此问题。MHA(Master High Availability)不同于MMM,它主要保障的是master的高可用。MMM(Master-Master replication managerfor Mysql)的基本组成如下,原创 2025-01-07 09:53:56 · 991 阅读 · 0 评论 -
myql explain sql分析详解
命令中的列,显示MySQL查询所使用的或者,它表明。。原创 2024-12-24 14:46:45 · 770 阅读 · 0 评论 -
MySQL基础知识点整理 - 事务
事务就是一组原子性的SQL查询,或者说一个独立的工作单元。如果数据库引擎能够成功地对数据库应用该组查询的全部语句,那么就执行该组查询。如果其中有任何一条语句因为崩溃或其他原因无法执行,那么所有的语句都不会执行。也就是说,事务内的语句,要么全部执行成功,要么全部执行失败。在整个过程中,无论事务是否成功完成,总能确保数据的完整性。死锁是指两个或者多个事务在同一资源上相互占用,并请求锁定对方占用的资源,从而导致恶性循环的现象。当多个事务试图以不同的顺序锁定资源时,就可能会产生死锁。原创 2024-12-24 14:44:42 · 879 阅读 · 0 评论 -
mysql mmm和mha对比
脑裂的原因,在于旧master节点没有正常将VIP摘掉,这时局域网机器通过ARP获取VIP的MAC时,就可能取到旧的MAC地址,导致与旧master通信。旧master由于上层交换机故障,未与manager节点正常通信,此时VIP是没有摘除掉的,过了一段时间上层交换机恢复了就会导致此问题。MHA(Master High Availability)不同于MMM,它主要保障的是master的高可用。MMM(Master-Master replication managerfor Mysql)的基本组成如下,原创 2024-12-24 14:04:37 · 711 阅读 · 0 评论 -
MySQL HA 方案 MMM、MHA、MGR、PXC 对比
同MMM相比,MHA会尝试从旧的Master中恢复旧的二进制日志,只是未必每次都能成功。单主模式下,MGR集群会选出primary节点负责写请求,primary节点与其它节点都可以进行读请求处理.仅支持InnoDB表,并且每张表一定要有一个主键,用于做write set的冲突检测;可以在任何时间点失去任何节点,但是集群将照常工作,不受影响。当执行一个查询时,在本地节点上执行。故障简单粗暴,容易丢失事务,建议采用半同步复制方式,减少失败的概率。不能有效的解决写缩放问题,所有的写操作都将发生在所有节点上。原创 2024-12-24 13:59:44 · 1227 阅读 · 0 评论 -
高性能MySQL读书笔记 (六)
损坏系统结构: 系统结构包括事务日志等,可能需要做整个数据库的导出和还原,因为InnoDB内部绝大部分的工作可能受影响。共享存储或磁盘复制,如果服务器挂了,备用服务器可以挂载相同的文件系统执行需要的恢复操作。按功能拆分: 常见做法,根据功能将应用部署在不同服务器,并使用专用的数据库服务器。数据量: 很多应用从不物理删除任何数据,应用所积累的数据量是可扩展的普遍挑战。一致性: 如果应用是有状态的,负载均衡器就应该将相关的查询指向同一个服务器。负载均衡算法: 随机, 轮询,最少连接数,最快响应,哈希,权重。原创 2024-11-11 16:49:05 · 829 阅读 · 0 评论 -
高性能MySQL读书笔记 (五)
解决问题: 让一台服务器的数据与其他服务器保持同步.主库可以同步到多台备库,备库本身也可以配置为另一台服务器的主库复制原理: 通过在主库上记录二进制日志,在备库重放日志的方式实现异步的数据复制复制方式: 基于行的复制和基于语句的复制向后兼容: 新版本只能作为老版本的备库,反之不行。原创 2024-11-11 16:48:46 · 853 阅读 · 0 评论 -
高性能MySQL读书笔记 (四)
视图本身是一个虚拟表,不存放任何数据,不能对视图创建触发器。原创 2024-11-11 16:48:27 · 924 阅读 · 0 评论 -
高性能MySQL读书笔记 (三)
特殊类型:书中举例,ip地址应该用无符号整数存储,MySQL提供inet_aton, inet_ntoa方法转换。MySQL中,存储引擎先在索引中找到对应值根据匹配的索引记录找到对应的数据行.索引在存储引擎层实现。避免使用Null: 含有Null列会使索引,索引统计和值更为复杂。业务上有时需要一张完全独立的汇总表或缓存表主要用于满足检索的需求。分配空间: 根据实际需要分配.使用内存临时表或操作时会比较糟糕。索引是存储引擎用于快速查找记录的数据结构。更小: 选择不超过需求范围的最小类型。原创 2024-11-11 16:48:08 · 750 阅读 · 0 评论 -
高性能MySQL读书笔记 (二)
测试不同硬件,软件和操作系统的配置。针对整个系统的整体测试, 集成式。单独测试MySQL, 单组件式。测试应用适应可变环境的能力。测试系统当前的运行情况。基准测试的运行时间设置。获取系统的性能和状态。原创 2024-11-11 16:47:41 · 442 阅读 · 0 评论 -
高性能MySQL读书笔记 (一)
InnoDB: 处理大量的短期事务, 通过间隙锁锁定查询涉及的行和索引中的间隙进行锁定,防止幻影行的插入, 基于聚簇索引创建表.通过一些机制和工具支持真正的热备份.MyISAM: 包括全文索引,压缩,空间函数,延迟更新索引键等特性,不支持事务和行级锁,崩溃后无法安全恢复.对于只读数据,表小可以忍受修复操作可以使用该引擎.查询缓存/解析器: 实现查询解析,分析,优化,缓存.内置函数和跨存储引擎如存储过程,触发器,视图等.连接/线程处理: 基于C/S的工具类似,实现连接处理,授权认证,安全等.原创 2024-11-11 16:47:10 · 172 阅读 · 0 评论 -
mysql 字符集 utf8mb4
MySQL的utf8是utfmb3,只有三个字节,节省空间但不能表达全部的UTF-8。所以推荐使用utf8mb4。原创 2024-11-11 16:46:38 · 416 阅读 · 0 评论 -
MySQL中存储引擎和数据类型
支持事务,有回滚和提交操作;支持行级锁定和外键约束,保障数据的完整性和一致性;在MySQL 5.6及之后的版本,InnoDB是默认的存储引擎;主要面向OLTP(Online Transaction Processing)应用;支持表锁定,对数据进行修改时,会锁定整个表;主要面向OLAP(Online Analytical Processing)应用;选择存储引擎时,需考虑应用的需求:如果需要事务支持,并且有较高的数据一致性要求,推荐使用InnoDB;数据存储在内存中,速度快;输入show engines;原创 2024-11-05 21:52:02 · 717 阅读 · 0 评论 -
全国省市区表完整版(自己整理)
一.省市区列表二.表结构和数据下载1.链接:https://pan.baidu.com/s/1iM2Spoqmfv9yg4u8IRP0zw 提取码:qyo1原创 2019-08-20 19:18:23 · 122131 阅读 · 37 评论 -
读高性能MySQL(第4版)笔记11_查询性能优化(中)
原创 2024-08-19 15:37:44 · 375 阅读 · 0 评论 -
读高性能MySQL(第4版)笔记10_查询性能优化(上)
原创 2024-08-19 15:36:56 · 283 阅读 · 0 评论 -
读高性能MySQL(第4版)笔记09_创建高性能索引(下)
原创 2024-08-19 15:36:05 · 267 阅读 · 0 评论 -
高性能MySQL_创建高性能索引(上)
原创 2024-08-19 15:35:06 · 120 阅读 · 0 评论 -
高性能MySQL笔记07_优化数据类型(下)
原创 2024-08-19 15:33:04 · 277 阅读 · 0 评论 -
高性能MySQL笔记06_优化数据类型(上)
原创 2024-08-19 15:32:03 · 242 阅读 · 0 评论 -
读高性能MySQL(第4版)笔记05_优化服务器设置
1.除非遇到异常情况,否则不需要调整配置1.1.不要“调优”服务器,不要使用比率、公式或“调优脚本”作为设置配置变量的基础1.1.1.在互联网上搜索配置建议并不总是一个好主意,你会在博客、论坛等找到很多糟糕的建议1.1.2.很难判断谁是真正的专家1.1.3.不要相信流行的内存消耗公式1.2.可靠的、有信誉的MySQL服务提供商通常比简单的互联网搜索结果更安全,因为那些需要拥有满意的客户的人可能正在做正确的事情1.2.1.即使是他们的建议,在没有经过测试和理解的情况下原创 2024-08-19 15:28:13 · 764 阅读 · 0 评论 -
读高性能MySQL(第4版)笔记03_监控
1.服务级别帮助你定义客户满意的程度和标准,以便你在解决性能、可扩展性挑战等事情与开发内部工具之间做出时间权衡2.服务水平指标(SLI)2.1.如何衡量客户是否满意3.服务水平目标(SLO)3.1.为了确保客户满意,能允许SLI达到的最低限度是多少3.2.将特定的SLI视为健康服务的目标范围3.2.1.必须定义为给定时间范围内的一个具体值,以确保每个人都对SLO的含义保持一致的理解3.2.2.如果SLI的指标是服务正常运行的时间,那么在给定的时间范围内,运行时原创 2024-08-19 15:12:50 · 606 阅读 · 0 评论 -
读高性能MySQL(第4版)笔记02_MySQL架构(下)
1.事务日志1.1.事务日志有助于提高事务的效率1.1.1.存储引擎只需要更改内存中的数据副本,而不用每次修改磁盘中的表,这会非常快1.1.2.更改的记录写入事务日志中,事务日志会被持久化保存在硬盘上1.2.事务日志采用的是追加写操作,是在硬盘中一小块区域内的顺序I/O,而不是需要写多个地方的随机I/O,所以写入事务日志是一种相对较快的操作1.3.大多数使用这种技术(write-ahead logging,预写式日志)的存储引擎修改数据最终需要写入磁盘两次1.4.如原创 2024-08-19 15:11:11 · 769 阅读 · 0 评论 -
读高性能MySQL(第4版)笔记01_MySQL架构(上)
1.逻辑架构1.1.大多数基于网络的客户端/服务器工具或服务器都有类似的服务1.1.1.连接处理1.1.2.身份验证1.1.3.确保安全性1.2.核心层1.2.1.查询解析、分析、优化、以及所有的内置函数1.2.2.跨存储引擎的功能1.2.2.1.存储过程1.2.2.2.触发器1.2.2.3.视图1.3.存储引擎层1.3.1.存储引擎负责MySQL中数据的存储和提取1.3.2.和GNU/Linux下的各种文件系统一样,每种存原创 2024-08-19 15:09:48 · 850 阅读 · 0 评论 -
数据库基础知识概要
DDL语句用于定义数据库对象(如表、索引、视图等)。常见的DDL语句包括:CREATE:用于创建数据库对象,如创建表、索引、视图等。ALTER:用于修改数据库对象的结构,如修改表的列、添加约束等。DROP:用于删除数据库对象,如删除表、索引、视图等。TRUNCATE:用于删除表中的所有数据,但保留表结构。原创 2024-08-19 14:30:45 · 903 阅读 · 0 评论 -
MySQL表涉及规范
1.使用InnoDB存储引擎:InnoDB存储引擎提供了事务支持、行级锁定和外键约束,有助于提高数据的完整性和性能。10.定期审查和优化表结构:根据业务需求和性能监控结果,定期审查和优化表结构,以保持数据库的高效运行。7.使用默认值和非空约束:为字段设置合理的默认值和非空约束,可以确保数据的合理性和完整性。8.使用注释:为表和字段添加注释,说明它们的用途和含义,有助于其他开发者理解和维护。9.数据库和表的字符集设置:使用UTF-8字符集存储数据,以支持多语言和特殊字符。主键索引:推荐用自增id作为主键。原创 2024-08-19 11:22:21 · 653 阅读 · 0 评论 -
mysql between and 和 postgresql between and
在这两个示例中,我们使用了 BETWEEN 关键字来指定一个范围(5000 到 8000),并筛选出符合该范围的记录。在 MySQL 和 PostgreSQL 中,BETWEEN 的用法是相同的。假设我们有一个名为 employees 的表,其中包含员工的工资信息。在 MySQL 和 PostgreSQL 中,BETWEEN 关键字用于在查询中指定一个范围,以便从表中筛选出符合该范围的记录。假设我们有一个名为 employees 的表,其中包含员工的工资信息。MySQL BETWEEN 使用例子。原创 2024-07-31 14:43:47 · 663 阅读 · 0 评论 -
Linux7.x基于yum安装MySQL5.7
一.下载MySQL的官方rpm源依赖#下载mysql官网的包 wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm二.安装yum源#安装yum源 yum -y install mysql57-community-release-el7-10.noarch.rpm三.安装mysql服务#安装mysql yum -y install mysql-community..原创 2020-06-09 00:57:04 · 542 阅读 · 0 评论 -
MySQL 分组取最新的一条
1.MySQL 分组取最新的一条2.MySQL not in not existsCREATE TABLE `test_dept` ( `deptid` int(11) NOT NULL, `deptname` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL, PRIMARY KEY...原创 2020-03-24 14:18:07 · 2186 阅读 · 0 评论 -
mysql information_schema 详解
大家在安装或使用MYSQL时,会发现除了自己安装的数据库以外,还有一个information_schema数据库。information_schema数据库是做什么用的呢,使用WordPress博客的朋友可能会想,是不是安装模板添加的数据库呀?看完本片文章后,你就会对information_schema数据库有所了解。information_schema数据库是MySQL自带的,它提供了访问...转载 2018-12-18 10:03:49 · 285 阅读 · 0 评论 -
mysql查询数据库所有表,删除所有表外键,清空所有表数据
####mysql命令登录数据库 1.mysql -u root -ppassword 2.mysql -u root -p Enter password:****提示输入密码 3.mysql -h localhost -u root -ppassword 4.mysql -h 127.0.0.1 -u root -ppassword 5.-p参数和密码中间不能有间隔####...原创 2018-12-18 10:48:08 · 2438 阅读 · 1 评论 -
MySql绿色版windows下安装
一.下载mysql绿色版安装包二.配置环境变量三.使用cmd进入 mysql的bin目录下执行 复制下命令即可1.执行该命令生成data文件 mysqld --initialize-insecure --user=mysql2.my-default.ini 写入下文本路径名配置自己的[client]port=3306default-character-set=...原创 2019-01-13 20:19:24 · 884 阅读 · 0 评论 -
MySql教程(--)mysql系统常用命令集
--mysql连接1.连接到本机上的MYSQL 命令:mysql -u [username] -p mysql -u root -p,回车后提示你输密码。2.连接到远程主机上的MYSQL host:远程主机地址 username:用户名 password:密码 命令:mysql -h [host] -u [username] -p [password] mysql...原创 2019-02-11 15:00:05 · 201 阅读 · 0 评论 -
MySql教程(--)mysql系统常用命令集二
MYSQL命令大全CHM版一、连接MySQL 格式: mysql -h主机地址 -u用户名 -p用户密码 1、例1:连接到本机上的MYSQL。 首先在打开DOS窗口,然后进入目录 mysqlbin,再键入命令mysql -uroot -p,回车后提示你输密码,如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYS...转载 2019-02-11 15:29:38 · 323 阅读 · 0 评论 -
MySql教程(--)mysql特性和简介
MySQL的的主要特性下面介绍了MySQL数据库软件的一些重要特性。关于当前特性和即将提供特性的更多信息,,请参见1.6节,“MySQL发展大事记” 。 · 内部构件和可移植性o 使用C和C++编写 o 用众多不同的编译器进行了测试 o 能够工作在众多不同的平台上。请参见2.1.1 “MySQL支持的操作系统”。o ...转载 2019-02-11 15:35:05 · 581 阅读 · 0 评论 -
MySql教程(--)mysql系统常用命令集
常见操作 \c 取消未完成的操作。 \g 代替结束符数据库操作: show databases 查看数据库 注意:查看所有数据库,mysql数据库千万不要动。 创建数据库 create database 数据库名 注意:库名不要用中文,不要用数字开头。 注意: 1、每创建一个数据库,会在data目录下创建一个以数据库名称命名...原创 2019-02-11 16:16:33 · 240 阅读 · 0 评论 -
MySql教程(--)mysql数据类型讲解一
一.数值类型1.整型2.定点类型 DECIMAL和NUMERIC类型在MySQL中视为相同的类型。它们用于保存必须为确切精度的值。 使用方式如下:salary DECIMAL(5,2) 下面的介绍将基于上面这个例子。 我们看到其中有两个参数,即DECIMAL(M,D),其中M表示十进制数字总的个数,D表示小数点后面数字的位数,上例中的取值范围为-99...转载 2019-02-11 16:40:26 · 346 阅读 · 0 评论 -
MySql教程(--)mysql数据类型讲解
一.数值型数据类型归纳 类型 大小 范围(有符号) 范围(无符号) 用途 TINYINT 1 字节 (-128,127) (0,255) 小整数值 SMALLINT ...转载 2019-02-11 16:50:45 · 153 阅读 · 0 评论 -
MySql根据关联字段 同步某些字段数据
一、问题说明今天弄数据库的时候需要通过关联字段同步一张表的字段内容到另一张表的字段内容。PS:把一张表中的某个字段内容同步到另一张表的字段,前提条件是两张表要有关联字段。二、解决方法-- mysql通过关联字段key,同步表table_name1的content字段内容—到—>table_name2的content内容字段。 update table_name1 aset a...转载 2019-02-13 16:05:05 · 1901 阅读 · 0 评论 -
MySql教程(--)MySql安装-基于yum源安装mysql
一.下载mysql的yum源1.地址可根据自己需求下载http://repo.mysql.com/wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm2.执行下载源rpm -ivh mysql57-community-release-el7-8.noarch.rpm3.安装...原创 2019-03-02 15:11:13 · 420 阅读 · 0 评论