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 存储过程
存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,它存储在数据库中,一次编译后永久有效,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。
可以理解为使用 SQL 进行编程,可以被数据库自己调用或者第三方程序(Java、Python、Bash 等)调用。
优势效率性存储过程编译一次后,就会存到数据库,每次调用时都直接执行。
安全性完成某个特定功能的存储过程一般只有特定的用户可以使用,具有使用身份限制,更安全。
复用性存储过程往往是针对特定的功能编写的,可以重复调用。
可维护性当功能要求发生小的变化时,修改存储过程即可。
降低网络流量存储过程编译好会放在数据库,远程调用时,不用传输大量 SQL 语句。
操作语法123456789delimiter $$#创建存储过程CREATE PROCEDURE name()BEGIN SQL;END;$$delimiter ;#调用存储过程CALL name();
触发器MySQL 触发器(Trigger)是一种特殊的存储过程,用来实现数据约束,数据验证,数据复制等功能 ...
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 ...
通过注册表“调教” Windows 系统
组策略运行 regedit,打开注册表编辑器
Windows 10“打开或关闭系统图标”变灰在 Windows 10 系统中,任务栏有一个“操作中心”按钮,用来打开系统通知、快捷才做,类似于手机的下拉菜单。正常情况下我们可以通过“打开或关闭系统图标”来设置显示或隐藏操作中心的按钮,但是由于某些情况,“操作中心”图标消失了且在“打开或关闭系统图标”界面中操作中心选择呈灰色状态,用快捷键(Win+A)也不能呼出:网上全是打开组策略找到并将“删除操作中心”设置为已禁用或者未配置,典型的盗版用户,家庭版是不是还得先想法子(有)打开组策略。
在地址栏输入:HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\Explorer,回车
在右侧找到并将 DisableNotificationCenter 项的 DWORD 键值改为 0 或者直接删除该项
说明:1、0 这里意思为:真、假,DisableNotificationCenter 是禁用通知中心,双重否定表示肯定。其他相关地址(可能用到):123HKEY_LOCAL_MACHINE\SO ...
通过组策略“调教” Windows 系统
组策略Win+R 打开运行,输入 gpedit.msc 打开本地组策略编辑器
彻底关闭“Windows 安全中心”“启用 Windows 防火墙”提示从 Windows 7 开始,在系统装好以后,都会关闭巨硬家自带的一系列安全软件;可是系统频繁提示,什么禁用服务,修改注册表,全部无效依次展开,计算机配置 -> 管理模板 -> Windows 组件 -> Windows 安全中心 -> 通知,双击打开左边的“隐藏所有通知”,选中 已启用,应用
通过组策略拒绝安装垃圾软件
有些流氓软件,防不胜防的推广安装还可以理解,毕竟免费产品需要生存;可是效果不咋地,还把电脑搞得一塌糊涂;居然连卸载都不让卸干净,就无法容忍了。
比如:百度杀毒和百度卫士,在公司很多电脑中招以后,在网上找到了建立本地安全策略来禁止安装软件的教程,现在以百度杀毒及百度卫士为例,整理一篇出来。
文件准备软件证书:国内常用的一些软件证书,详情如图:
百度云,提取码: l7pm
创建策略1.开始 -> 运行 -> 输入 gpedit.msc-> 打开本地组策略编辑器;或者从控制面板 -> 管理工具中打开本地安全策略;
2.选中软件限制策略(XP 系统在计算机配置 -> Windows 设置 -> 安全设置中),第一次使用需要右键,创建软件限制策略;
3.选择强制项 -> 右键 -> 属性;
4.勾选强制证书规则 -> 应用并确定;(XP 系统忽略本步骤)
5.选中其他规则 -> 右键 -> 新建证书规则;
6.浏览 -> 添加相应的软件证书 -> 安全级别设置为不允许;
7.应用->弹出“当前未执行 ...