MySQL 事务
MySQL 事务主要用于处理操作量大,复杂度高的数据
说明
在 MySQL 中只有使用了 Innodb 数据库引擎的数据库或表才支持事务
事务处理可以用来维护数据库的完整性,保证成批的 SQL 语句要么全部执行,要么全部不执行。
事务用来管理 INSERT、UPDATE、DELETE 语句特征原子性Atomicity:每个事务(Transaction)都看作最小逻辑操作,不可进行分割;执行错误,会被回滚(Rollback)到事务开始前一致性Consistency:在事务开始之前和事务结束以后,数据库的完整性没有被破坏隔离性Isolation:数据库允许多个并发事务同时对其数据进行读写和修改的能力,隔离性可以防止多个事务并发执行时由于交叉执行而导致数据的不一致。
读未提交(Read Uncommitted):允许脏读取,但不允许更新丢失;通过“排他写锁”实现
读提交(Read Committed):不可重复读取,但不允许脏读取;通过“瞬间共享读锁”和“排他写锁”实现
可重复读(Repeatable Read):禁止不可重复读取和脏读取,但是有时可能出现幻读数据;通过“共享读锁”和“排他写 ...
核心训练 & 动作
基本概念所谓“核心”是人体的中间环节,就是肩关节以下、髋关节以上包括骨盆在内的区域,是由腰、骨盆、髋关节形成的一个整体,包含 29 块肌肉;它是人体几乎所有动作的起始点,衔接上下肢与躯干;将身体承受的力,合理分布到各动力链,确保动作的“稳定”和“流畅”;是人体重心所在的区域,又称为“腰椎-骨盆-髋复合体”。
推荐动作健身球卷腹平躺在充气健身球上,双脚着地,大腿和躯干平行地面;双手放在头侧并支援头部,肘部打开;下颚向前胸微收,收缩腹肌抬起躯干不超过45度(2秒以上)并呼气,保持新的姿势2秒钟,然后慢慢回到起始姿势(2秒以上)并吸气。
每次做4组,每组力竭不限个数,组间休息一分钟,隔天锻炼。
高、低平板主要练腹横肌、多裂肌,附带腹直肌、竖脊肌
侧平板支撑主要练腹横肌、臀中肌、臀小肌,附带腹内/外斜肌
死虫动作(Dead Bug)
主要练腹横肌、多裂肌、臀大肌,附带腹直肌、腹内/外斜肌,以及竖脊肌、髂腰肌、腘绳肌
动作要领:维持静止或交替移动四肢,腹部收紧把肩膀和双腿抬离地面,扭转腹部用一侧的手掌关节去努力触碰到身体另一侧屈腿的脚踝,同时双腿中另一侧的腿离地,伸直,然后腹部始终处在收紧 ...
MySQL v5.7.9 安装部署
解压安装12345678910#先查找并卸载已经存在的软件包rpm -qa mysql mysql-server mariadb mariadb-serverrpm -e 包名cd /app/software#解压并编译安装https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.9-linux-glibc2.5-x86_64.tar.gztar -zxvf mysql-5.7.9-linux-glibc2.5-x86_64.tar.gz -C /app/servicemv /app/service/mysql-5.7.9-linux-glibc2.5-x86_64 /app/service/mysql#创建日志文件夹mkdir -pv /app/logs/mysql
使用以下命令添加环境变量:1234echo "export MYSQL_HOME=/app/service/mysql" >> /etc/profileecho "export PATH=\$PATH:\$MYSQL ...
使用 bitwarden_rs 搭建密码服务
环境搭建CentOS 7(64-bit),内核版本不能低于 3.101uname -r
官方脚本在测试或开发环境中 Docker 官方为了简化安装流程,提供了一套便捷的安装脚本,CentOS 系统上可以使用这套脚本安装:12curl -fsSL get.docker.com -o get-docker.shsh get-docker.sh --mirror Aliyun --version
手动安装卸载旧版本较旧版本的 Docker 被称为 docker 或 docker-engine;如果已安装这些,请卸载它们以及相关的依赖项。12345678yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine
安装仓库 ...
MySQL 常见故障修复
ERROR 2026 (HY000)
SSL connection error: unknown error number
登录命令后面添加:12--ssl=FALSE--ssl-mode=DISABLED
The total number of locks exceeds the lock table size总数已经超过锁定表的大小,MySQL 数据库中的表进行大批量的分组,查询、创建的时候经常会出现这个问题,原因会有两种可能:
MySQL 的临时表 tmp_table_size 过小
MySQL 的 innod 缓冲池 innodb_buffer_pool_size 过小123456# 查看临时表大小,并设置为 1G:1024*1024*1024show variables like "%tmp%";SET GLOBAL tmp_table_size = 1073741824;# 查看缓冲池大小,并设置为 3G:1024*1024*1024*3show variables like "%_buffer%";SET GLOBAL inn ...
MySQL 索引
索引是一种能提高数据库查询效率的数据结构,是数据库中用来提高性能的常用工具;类似于一本字典的目录,可以帮你快速找到对应的记录。
优缺点优点
索引可以加快数据查询速度,减少查询时间
唯一索引可以保证数据库表中每一行的数据的唯一性缺点
创建索引和维护索引要耗费时间
索引需要占物理空间,除了数据表占用数据空间之外,每一个索引还要占用一定的物理空间
以表中的数据进行增、删、改的时候,索引也要动态的维护分类所有的 MySQL 列都可以被设为索引,对相关列使用索引是提高 SELECT 性能的最佳途径。根据存储引擎可以定义每个表最大的索引数和最大索引长度,每种存储引擎对每张表支持最少 16 个索引,总索引长度至少为 265 个字节;大多数存储引擎有更高的限制。数据结构
B+树索引:所有数据存储在叶子节点,复杂度为 O(logn),适合范围查询
哈希索引: 适合等值查询,检索效率高,一次到位
全文索引:MyISAM 和 InnoDB 中都支持使用全文索引,一般在文本类型 char、text、varchar 类型上创建
R-Tree 索引: 用来对 GIS 数据类型创建 SPATIAL 索引物理存储
...
MySQL 入门
体系结构网络连接层核心服务层核心服务层是整个数据库服务器的核心,主要包括了系统管理和控制工具、连接池、SQL 接口、解析器、查询优化器和缓存等部分系统管理和控制工具:提供数据库系统的管理和控制功能,例如对数据库中的数据进行备份和恢复,保证整个数据库的安全性,提供安全管理,对整个数据库的集群进行协调和管理等连接池:主要负责存储和管理客户端与数据库的连接信息,连接池里的一个线程负责管理一个客户端到数据库的连接信息SQL 接口:主要负责接收客户端发送过来的各种 SQL 命令,并将 SQL 命令发送到其他部分,并接收其他部分返回的结果数据,将结果数据返回给客户端解析器:主要负责对请求的 SQL 解析成一棵“解析树”,然后根据 MySQL 中的一些规则对“解析树”做进一步的语法验证,确认其是否合法查询优化器:在 MySQL 中,如果“解析树”通过了解析器的语法检查,此时就会由优化器将其转化(如索引的选择,表的读取顺序等)为执行计划,然后与存储引擎进行交互,通过存储引擎与底层的数据文件进行交互缓存:MySQL 的缓存是由一系列的小缓存组成的。例如:MySQL 的表缓存,记录缓存,MySQL 中的权 ...
MySQL 视图
表中存放的是实际的数据,而视图中存放的是 SQL 查询语句
当我们使用视图时,会运行视图里的 SQL 查询语句创建出一张临时表,当客户端与数据库之间的连接断开后,临时表会被自动删除
优势简单使用视图的用户完全不需要关心后面对应的表的结构、关联条件、和筛选条件
安全使用视图的用户只能访问他们被允许查询的结果集,对表的权限管理并不能限制到某个行某个列,而通过视图可以轻松实现
独立一旦视图的结构确定了,可以屏蔽表结构变化对用户的影响,源表增加列对视图没有影响;源表修改列名,可通过修改视图来解决,不会对访问者造成影响
操作视图的操作跟 MySQL 一样,包括增、删、改、查
创建创建视图需要有 CREATE VIEW 的权限,并且对于查询涉及到的列有 SELECT 权限;如果使用 CREATE OR REPLACE,那么哈需要有该视图的 DROP 权限1CREATE [OR REPLACE] [ALGORITHM = {UNDEFINED|MERGE|TEMPTABLE}] VIEW view_name [(column_list)] AS select_statemen ...